class ElaboratedTypeLoc
Declaration
class ElaboratedTypeLoc : public ConcreteTypeLoc { /* full declaration omitted */ };
Description
A metaprogramming base class for TypeLoc classes which correspond to a particular Type subclass. It is accepted for a single TypeLoc class to correspond to multiple Type classes. TypeLocs with non-constant amounts of local data should override getExtraLocalDataSize(); getExtraLocalData() will then point to this extra memory. TypeLocs with an inner type should define QualType getInnerType() const and getInnerTypeLoc() will then point to this inner type's location data. A word about hierarchies: this template is not designed to be derived from multiple times in a hierarchy. It is also not designed to be used for classes where subtypes might provide different amounts of source information. It should be subclassed only at the deepest portion of the hierarchy where all children have identical source information; if that's an abstract type, then further descendents should inherit from InheritingConcreteTypeLoc instead.
Declared at: clang/include/clang/AST/TypeLoc.h:2260
Inherits from: ConcreteTypeLoc
Method Overview
- public void copy(clang::ElaboratedTypeLoc Loc)
- public clang::SourceLocation getElaboratedKeywordLoc() const
- public clang::QualType getInnerType() const
- public clang::SourceRange getLocalSourceRange() const
- public clang::TypeLoc getNamedTypeLoc() const
- public clang::NestedNameSpecifierLoc getQualifierLoc() const
- public void initializeLocal(clang::ASTContext & Context, clang::SourceLocation Loc)
- public void setElaboratedKeywordLoc(clang::SourceLocation Loc)
- public void setQualifierLoc(clang::NestedNameSpecifierLoc QualifierLoc)
Methods
¶void copy(clang::ElaboratedTypeLoc Loc)
void copy(clang::ElaboratedTypeLoc Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2306
Parameters
¶clang::SourceLocation getElaboratedKeywordLoc()
const
clang::SourceLocation getElaboratedKeywordLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2265
¶clang::QualType getInnerType() const
clang::QualType getInnerType() const
Declared at: clang/include/clang/AST/TypeLoc.h:2302
¶clang::SourceRange getLocalSourceRange() const
clang::SourceRange getLocalSourceRange() const
Declared at: clang/include/clang/AST/TypeLoc.h:2285
¶clang::TypeLoc getNamedTypeLoc() const
clang::TypeLoc getNamedTypeLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:2298
¶clang::NestedNameSpecifierLoc getQualifierLoc()
const
clang::NestedNameSpecifierLoc getQualifierLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2273
¶void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2296
Parameters
- clang::ASTContext& Context
- clang::SourceLocation Loc
¶void setElaboratedKeywordLoc(
clang::SourceLocation Loc)
void setElaboratedKeywordLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2269
Parameters
¶void setQualifierLoc(
clang::NestedNameSpecifierLoc QualifierLoc)
void setQualifierLoc(
clang::NestedNameSpecifierLoc QualifierLoc)
Declared at: clang/include/clang/AST/TypeLoc.h:2278
Parameters
- clang::NestedNameSpecifierLoc QualifierLoc