clang API Documentation
[C99 6.4.2.2] - A predefined identifier such as __func__. More...
#include <Expr.h>
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) |
StringLiteral * | getFunctionName () |
const StringLiteral * | getFunctionName () 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 |
PredefinedExpr::PredefinedExpr | ( | SourceLocation | L, |
QualType | FNTy, | ||
IdentType | IT, | ||
StringLiteral * | SL | ||
) |
clang::PredefinedExpr::PredefinedExpr | ( | EmptyShell | Empty | ) | [inline, explicit] |
child_range clang::PredefinedExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
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 448 of file Expr.cpp.
Referenced by clang::CodeGen::CodeGenFunction::EmitPredefinedLValue(), and getFunctionName().
const StringLiteral* clang::PredefinedExpr::getFunctionName | ( | ) | const [inline] |
Definition at line 1198 of file Expr.h.
References getFunctionName().
IdentType clang::PredefinedExpr::getIdentType | ( | ) | const [inline] |
Definition at line 1192 of file Expr.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitPredefinedLValue().
StringRef PredefinedExpr::getIdentTypeName | ( | PredefinedExpr::IdentType | IT | ) | [static] |
Definition at line 452 of file Expr.cpp.
References Func, FuncDName, FuncSig, Function, LFunction, PrettyFunction, and PrettyFunctionNoVirtual.
Referenced by clang::CodeGen::CodeGenFunction::EmitPredefinedLValue().
SourceLocation clang::PredefinedExpr::getLocation | ( | ) | const [inline] |
SourceLocation clang::PredefinedExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
SourceLocation clang::PredefinedExpr::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
void clang::PredefinedExpr::setLocation | ( | SourceLocation | L | ) | [inline] |
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.