clang API Documentation
#include <DeclCXX.h>

Public Member Functions | |
| CXXBaseOrMemberInitializer (ASTContext &Context, TypeSourceInfo *TInfo, bool IsVirtual, SourceLocation L, Expr *Init, SourceLocation R, SourceLocation EllipsisLoc) | |
| CXXBaseOrMemberInitializer - Creates a new base-class initializer. | |
| CXXBaseOrMemberInitializer (ASTContext &Context, FieldDecl *Member, SourceLocation MemberLoc, SourceLocation L, Expr *Init, SourceLocation R) | |
| CXXBaseOrMemberInitializer - Creates a new member initializer. | |
| CXXBaseOrMemberInitializer (ASTContext &Context, IndirectFieldDecl *Member, SourceLocation MemberLoc, SourceLocation L, Expr *Init, SourceLocation R) | |
| bool | isBaseInitializer () const |
| bool | isMemberInitializer () const |
| bool | isAnyMemberInitializer () const |
| bool | isIndirectMemberInitializer () const |
| bool | isPackExpansion () const |
| Determine whether this initializer is a pack expansion. | |
| SourceLocation | getEllipsisLoc () const |
| TypeLoc | getBaseClassLoc () const |
| const Type * | getBaseClass () const |
| Type * | getBaseClass () |
| bool | isBaseVirtual () const |
| Returns whether the base is virtual or not. | |
| TypeSourceInfo * | getBaseClassInfo () const |
| Returns the declarator information for a base class initializer. | |
| FieldDecl * | getMember () const |
| FieldDecl * | getAnyMember () const |
| IndirectFieldDecl * | getIndirectMember () const |
| SourceLocation | getMemberLocation () const |
| SourceLocation | getSourceLocation () const |
| Determine the source location of the initializer. | |
| SourceRange | getSourceRange () const |
| Determine the source range covering the entire initializer. | |
| bool | isWritten () const |
| int | getSourceOrder () const |
| Return the source position of the initializer, counting from 0. If the initializer was implicit, -1 is returned. | |
| void | setSourceOrder (int pos) |
| Set the source order of this initializer. This method can only be called once for each initializer; it cannot be called on an initializer having a positive number of (implicit) array indices. | |
| SourceLocation | getLParenLoc () const |
| SourceLocation | getRParenLoc () const |
| unsigned | getNumArrayIndices () const |
| Determine the number of implicit array indices used while described an array member initialization. | |
| VarDecl * | getArrayIndex (unsigned I) |
| Retrieve a particular array index variable used to describe an array member initialization. | |
| const VarDecl * | getArrayIndex (unsigned I) const |
| void | setArrayIndex (unsigned I, VarDecl *Index) |
| Expr * | getInit () const |
Static Public Member Functions | |
| static CXXBaseOrMemberInitializer * | Create (ASTContext &Context, FieldDecl *Member, SourceLocation MemberLoc, SourceLocation L, Expr *Init, SourceLocation R, VarDecl **Indices, unsigned NumIndices) |
| Creates a new member initializer that optionally contains array indices used to describe an elementwise initialization. | |
CXXBaseOrMemberInitializer - Represents a C++ base or member initializer, which is part of a constructor initializer that initializes one non-static member variable or one base class. For example, in the following, both 'A(a)' and 'f(3.14159)' are member initializers:
Definition at line 1123 of file DeclCXX.h.
| CXXBaseOrMemberInitializer::CXXBaseOrMemberInitializer | ( | ASTContext & | Context, | |
| TypeSourceInfo * | TInfo, | |||
| bool | IsVirtual, | |||
| SourceLocation | L, | |||
| Expr * | Init, | |||
| SourceLocation | R, | |||
| SourceLocation | EllipsisLoc | |||
| ) | [explicit] |
CXXBaseOrMemberInitializer - Creates a new base-class initializer.
Definition at line 1003 of file DeclCXX.cpp.
| CXXBaseOrMemberInitializer::CXXBaseOrMemberInitializer | ( | ASTContext & | Context, | |
| FieldDecl * | Member, | |||
| SourceLocation | MemberLoc, | |||
| SourceLocation | L, | |||
| Expr * | Init, | |||
| SourceLocation | R | |||
| ) | [explicit] |
CXXBaseOrMemberInitializer - Creates a new member initializer.
Definition at line 1014 of file DeclCXX.cpp.
| CXXBaseOrMemberInitializer::CXXBaseOrMemberInitializer | ( | ASTContext & | Context, | |
| IndirectFieldDecl * | Member, | |||
| SourceLocation | MemberLoc, | |||
| SourceLocation | L, | |||
| Expr * | Init, | |||
| SourceLocation | R | |||
| ) | [explicit] |
Definition at line 1024 of file DeclCXX.cpp.
| CXXBaseOrMemberInitializer * CXXBaseOrMemberInitializer::Create | ( | ASTContext & | Context, | |
| FieldDecl * | Member, | |||
| SourceLocation | MemberLoc, | |||
| SourceLocation | L, | |||
| Expr * | Init, | |||
| SourceLocation | R, | |||
| VarDecl ** | Indices, | |||
| unsigned | NumIndices | |||
| ) | [static] |
Creates a new member initializer that optionally contains array indices used to describe an elementwise initialization.
Definition at line 1048 of file DeclCXX.cpp.
References clang::ASTContext::Allocate().
Referenced by BuildImplicitMemberInitializer(), and clang::ASTReader::ReadCXXBaseOrMemberInitializers().
| FieldDecl* clang::CXXBaseOrMemberInitializer::getAnyMember | ( | ) | const [inline] |
Definition at line 1262 of file DeclCXX.h.
References isIndirectMemberInitializer(), and isMemberInitializer().
Referenced by clang::Sema::ActOnMemInitializers(), clang::Sema::CodeCompleteConstructorInitializer(), DiagnoseBaseOrMemInitializerOrder(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), GetKeyForMember(), print_elem(), clang::ento::ExprEngine::ProcessInitializer(), and clang::Sema::SetBaseOrMemberInitializers().
| const VarDecl* clang::CXXBaseOrMemberInitializer::getArrayIndex | ( | unsigned | I | ) | const [inline] |
Definition at line 1327 of file DeclCXX.h.
References getNumArrayIndices().
| VarDecl* clang::CXXBaseOrMemberInitializer::getArrayIndex | ( | unsigned | I | ) | [inline] |
Retrieve a particular array index variable used to describe an array member initialization.
Definition at line 1323 of file DeclCXX.h.
References getNumArrayIndices().
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), EmitAggMemberInitializer(), and EmitMemberInitializer().
| Type * CXXBaseOrMemberInitializer::getBaseClass | ( | ) |
Definition at line 1070 of file DeclCXX.cpp.
References isBaseInitializer().
| const Type * CXXBaseOrMemberInitializer::getBaseClass | ( | ) | const |
If this is a base class initializer, returns the type of the base class. Otherwise, returns NULL.
Definition at line 1077 of file DeclCXX.cpp.
References isBaseInitializer().
Referenced by clang::Sema::ActOnMemInitializers(), EmitBaseInitializer(), GetKeyForMember(), print_elem(), and clang::Sema::SetBaseOrMemberInitializers().
| TypeSourceInfo* clang::CXXBaseOrMemberInitializer::getBaseClassInfo | ( | ) | const [inline] |
Returns the declarator information for a base class initializer.
Definition at line 1249 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), DiagnoseBaseOrMemInitializerOrder(), and clang::Sema::InstantiateMemInitializers().
| TypeLoc CXXBaseOrMemberInitializer::getBaseClassLoc | ( | ) | const |
If this is a base class initializer, returns the type of the base class with location information. Otherwise, returns an NULL type location.
Definition at line 1063 of file DeclCXX.cpp.
References isBaseInitializer().
Referenced by getSourceLocation().
| SourceLocation clang::CXXBaseOrMemberInitializer::getEllipsisLoc | ( | ) | const [inline] |
Definition at line 1226 of file DeclCXX.h.
References isPackExpansion().
Referenced by clang::Sema::InstantiateMemInitializers().
| IndirectFieldDecl* clang::CXXBaseOrMemberInitializer::getIndirectMember | ( | ) | const [inline] |
Definition at line 1271 of file DeclCXX.h.
References isIndirectMemberInitializer().
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), EmitMemberInitializer(), and clang::Sema::InstantiateMemInitializers().
| Expr* clang::CXXBaseOrMemberInitializer::getInit | ( | ) | const [inline] |
Definition at line 1336 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), EmitAggMemberInitializer(), EmitBaseInitializer(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::Sema::InstantiateMemInitializers(), print_elem(), clang::ento::ExprEngine::ProcessInitializer(), and clang::RecursiveASTVisitor< Derived >::TraverseConstructorInitializer().
| SourceLocation clang::CXXBaseOrMemberInitializer::getLParenLoc | ( | ) | const [inline] |
Definition at line 1312 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), and clang::Sema::InstantiateMemInitializers().
| FieldDecl* clang::CXXBaseOrMemberInitializer::getMember | ( | ) | const [inline] |
getMember - If this is a member initializer, returns the declaration of the non-static data member being initialized. Otherwise, returns NULL.
Definition at line 1256 of file DeclCXX.h.
References isMemberInitializer().
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), and clang::Sema::InstantiateMemInitializers().
| SourceLocation clang::CXXBaseOrMemberInitializer::getMemberLocation | ( | ) | const [inline] |
Definition at line 1278 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), getSourceLocation(), and clang::Sema::InstantiateMemInitializers().
| unsigned clang::CXXBaseOrMemberInitializer::getNumArrayIndices | ( | ) | const [inline] |
Determine the number of implicit array indices used while described an array member initialization.
Definition at line 1317 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), EmitAggMemberInitializer(), EmitMemberInitializer(), getArrayIndex(), and setArrayIndex().
| SourceLocation clang::CXXBaseOrMemberInitializer::getRParenLoc | ( | ) | const [inline] |
Definition at line 1313 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), getSourceRange(), and clang::Sema::InstantiateMemInitializers().
| SourceLocation CXXBaseOrMemberInitializer::getSourceLocation | ( | ) | const |
Determine the source location of the initializer.
Definition at line 1084 of file DeclCXX.cpp.
References getBaseClassLoc(), clang::SourceRange::getBegin(), clang::TypeLoc::getLocalSourceRange(), getMemberLocation(), and isAnyMemberInitializer().
Referenced by DiagnoseBaseOrMemInitializerOrder(), getSourceRange(), and clang::Sema::InstantiateMemInitializers().
| int clang::CXXBaseOrMemberInitializer::getSourceOrder | ( | ) | const [inline] |
Return the source position of the initializer, counting from 0. If the initializer was implicit, -1 is returned.
Definition at line 1294 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers().
| SourceRange CXXBaseOrMemberInitializer::getSourceRange | ( | ) | const |
Determine the source range covering the entire initializer.
Definition at line 1091 of file DeclCXX.cpp.
References getRParenLoc(), and getSourceLocation().
| bool clang::CXXBaseOrMemberInitializer::isAnyMemberInitializer | ( | ) | const [inline] |
Definition at line 1212 of file DeclCXX.h.
References isIndirectMemberInitializer(), and isMemberInitializer().
Referenced by clang::Sema::ActOnMemInitializers(), clang::Sema::CodeCompleteConstructorInitializer(), DiagnoseBaseOrMemInitializerOrder(), EmitMemberInitializer(), GetKeyForMember(), getSourceLocation(), and clang::ento::ExprEngine::ProcessInitializer().
| bool clang::CXXBaseOrMemberInitializer::isBaseInitializer | ( | ) | const [inline] |
isBaseInitializer - Returns true when this initializer is initializing a base class.
Definition at line 1206 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), clang::Sema::CodeCompleteConstructorInitializer(), EmitBaseInitializer(), clang::CodeGen::CodeGenFunction::EmitCtorPrologue(), getBaseClass(), getBaseClassLoc(), clang::Sema::InstantiateMemInitializers(), isBaseVirtual(), isPackExpansion(), print_elem(), and clang::Sema::SetBaseOrMemberInitializers().
| bool clang::CXXBaseOrMemberInitializer::isBaseVirtual | ( | ) | const [inline] |
Returns whether the base is virtual or not.
Definition at line 1242 of file DeclCXX.h.
References isBaseInitializer().
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), and EmitBaseInitializer().
| bool clang::CXXBaseOrMemberInitializer::isIndirectMemberInitializer | ( | ) | const [inline] |
Definition at line 1216 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), EmitMemberInitializer(), getAnyMember(), getIndirectMember(), clang::Sema::InstantiateMemInitializers(), and isAnyMemberInitializer().
| bool clang::CXXBaseOrMemberInitializer::isMemberInitializer | ( | ) | const [inline] |
isMemberInitializer - Returns true when this initializer is initializing a non-static data member.
Definition at line 1210 of file DeclCXX.h.
Referenced by getAnyMember(), getMember(), clang::Sema::InstantiateMemInitializers(), and isAnyMemberInitializer().
| bool clang::CXXBaseOrMemberInitializer::isPackExpansion | ( | ) | const [inline] |
Determine whether this initializer is a pack expansion.
Definition at line 1221 of file DeclCXX.h.
References isBaseInitializer(), and clang::SourceLocation::isValid().
Referenced by getEllipsisLoc(), and clang::Sema::InstantiateMemInitializers().
| bool clang::CXXBaseOrMemberInitializer::isWritten | ( | ) | const [inline] |
isWritten - Returns true if this initializer is explicitly written in the source code.
Definition at line 1290 of file DeclCXX.h.
Referenced by clang::ASTWriter::AddCXXBaseOrMemberInitializers(), clang::Sema::InstantiateMemInitializers(), and clang::RecursiveASTVisitor< Derived >::TraverseConstructorInitializer().
| void clang::CXXBaseOrMemberInitializer::setArrayIndex | ( | unsigned | I, | |
| VarDecl * | Index | |||
| ) | [inline] |
Definition at line 1331 of file DeclCXX.h.
References getNumArrayIndices().
| void clang::CXXBaseOrMemberInitializer::setSourceOrder | ( | int | pos | ) | [inline] |
Set the source order of this initializer. This method can only be called once for each initializer; it cannot be called on an initializer having a positive number of (implicit) array indices.
Definition at line 1301 of file DeclCXX.h.
Referenced by clang::Sema::ActOnMemInitializers(), and clang::ASTReader::ReadCXXBaseOrMemberInitializers().