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)
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

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: