clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Friends
clang::PredefinedExpr Class Reference

[C99 6.4.2.2] - A predefined identifier such as __func__. More...

#include <Expr.h>

Inheritance diagram for clang::PredefinedExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::PredefinedExpr:
Collaboration graph
[legend]

List of all members.

Public Types

enum  IdentType {
  Func, Function, LFunction, FuncDName,
  FuncSig, PrettyFunction, PrettyFunctionNoVirtual
}

Public Member Functions

 PredefinedExpr (SourceLocation L, QualType FNTy, IdentType IT, StringLiteral *SL)
 PredefinedExpr (EmptyShell Empty)
 Construct an empty predefined expression.
IdentType getIdentType () const
SourceLocation getLocation () const
void setLocation (SourceLocation L)
StringLiteralgetFunctionName ()
const StringLiteralgetFunctionName () const
SourceLocation getLocStart () const LLVM_READONLY
SourceLocation getLocEnd () const LLVM_READONLY
child_range children ()

Static Public Member Functions

static StringRef getIdentTypeName (IdentType IT)
static std::string ComputeName (IdentType IT, const Decl *CurrentDecl)
static bool classof (const Stmt *T)

Friends

class ASTStmtReader

Detailed Description

[C99 6.4.2.2] - A predefined identifier such as __func__.

Definition at line 1165 of file Expr.h.


Member Enumeration Documentation

Enumerator:
Func 
Function 
LFunction 
FuncDName 
FuncSig 
PrettyFunction 
PrettyFunctionNoVirtual 

The same as PrettyFunction, except that the 'virtual' keyword is omitted for virtual member functions.

Definition at line 1167 of file Expr.h.


Constructor & Destructor Documentation

Definition at line 440 of file Expr.cpp.

clang::PredefinedExpr::PredefinedExpr ( EmptyShell  Empty) [inline, explicit]

Construct an empty predefined expression.

Definition at line 1189 of file Expr.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 1213 of file Expr.h.

static bool clang::PredefinedExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 1208 of file Expr.h.

References clang::Stmt::getStmtClass().

std::string PredefinedExpr::ComputeName ( IdentType  IT,
const Decl CurrentDecl 
) [static]

Definition at line 474 of file Expr.cpp.

References clang::Type::castAs(), clang::Decl::castFromDeclContext(), clang::CC_C, clang::CC_X86FastCall, clang::CC_X86StdCall, clang::CC_X86ThisCall, clang::CC_X86VectorCall, Context, clang::ASTContext::createMangleContext(), clang::Ctor_Base, clang::Ctor_Complete, clang::Dtor_Base, clang::Dtor_Complete, FuncDName, FuncSig, clang::TemplateArgumentList::get(), clang::Type::getAs(), clang::QualType::getAsStringInternal(), clang::Decl::getASTContext(), clang::Decl::getDeclContext(), clang::ASTContext::getLangOpts(), clang::NamedDecl::getName(), clang::FunctionDecl::getNumParams(), clang::TemplateParameterList::getParam(), clang::FunctionDecl::getParamDecl(), clang::DeclContext::getParent(), clang::FunctionType::getReturnType(), clang::FunctionTemplateSpecializationInfo::getTemplate(), clang::FunctionDecl::getTemplateInstantiationPattern(), clang::TemplateDecl::getTemplateParameters(), clang::ValueDecl::getType(), getUnderlyingType(), clang::FunctionType::isConst(), clang::FunctionTemplateSpecializationInfo::isExplicitSpecialization(), clang::ClassTemplateSpecializationDecl::isExplicitSpecialization(), clang::FunctionType::isVolatile(), PrettyFunction, PrettyFunctionNoVirtual, clang::TemplateArgument::print(), clang::RQ_LValue, clang::RQ_RValue, clang::TemplateParameterList::size(), clang::TemplateArgumentList::size(), clang::QualType::stream(), and clang::FunctionTemplateSpecializationInfo::TemplateArguments.

Referenced by clang::Sema::BuildPredefinedExpr().

Definition at line 1198 of file Expr.h.

References getFunctionName().

Definition at line 1192 of file Expr.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitPredefinedLValue().

Definition at line 1194 of file Expr.h.

Reimplemented from clang::Stmt.

Definition at line 1206 of file Expr.h.

Reimplemented from clang::Stmt.

Definition at line 1205 of file Expr.h.

Definition at line 1195 of file Expr.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 1215 of file Expr.h.


The documentation for this class was generated from the following files: