class DependentTemplateSpecializationTypeLoc
Declaration
class DependentTemplateSpecializationTypeLoc : 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:2375
Inherits from: ConcreteTypeLoc
Method Overview
- public void copy(clang::DependentTemplateSpecializationTypeLoc Loc)
- private clang::TemplateArgumentLocInfo * getArgInfos() const
- public clang::TemplateArgumentLoc getArgLoc(unsigned int i) const
- public clang::TemplateArgumentLocInfo getArgLocInfo(unsigned int i) const
- public clang::SourceLocation getElaboratedKeywordLoc() const
- public unsigned int getExtraLocalDataAlignment() const
- public unsigned int getExtraLocalDataSize() const
- public clang::SourceLocation getLAngleLoc() const
- public clang::SourceRange getLocalSourceRange() const
- public unsigned int getNumArgs() const
- public clang::NestedNameSpecifierLoc getQualifierLoc() const
- public clang::SourceLocation getRAngleLoc() const
- public clang::SourceLocation getTemplateKeywordLoc() const
- public clang::SourceLocation getTemplateNameLoc() const
- public void initializeLocal(clang::ASTContext & Context, clang::SourceLocation Loc)
- public void setArgLocInfo(unsigned int i, clang::TemplateArgumentLocInfo AI)
- public void setElaboratedKeywordLoc(clang::SourceLocation Loc)
- public void setLAngleLoc(clang::SourceLocation Loc)
- public void setQualifierLoc(clang::NestedNameSpecifierLoc QualifierLoc)
- public void setRAngleLoc(clang::SourceLocation Loc)
- public void setTemplateKeywordLoc(clang::SourceLocation Loc)
- public void setTemplateNameLoc(clang::SourceLocation Loc)
Methods
¶void copy(
clang::DependentTemplateSpecializationTypeLoc
Loc)
void copy(
clang::DependentTemplateSpecializationTypeLoc
Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2472
Parameters
¶clang::TemplateArgumentLocInfo* getArgInfos()
const
clang::TemplateArgumentLocInfo* getArgInfos()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2489
¶clang::TemplateArgumentLoc getArgLoc(
unsigned int i) const
clang::TemplateArgumentLoc getArgLoc(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:2457
Parameters
- unsigned int i
¶clang::TemplateArgumentLocInfo getArgLocInfo(
unsigned int i) const
clang::TemplateArgumentLocInfo getArgLocInfo(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:2453
Parameters
- unsigned int i
¶clang::SourceLocation getElaboratedKeywordLoc()
const
clang::SourceLocation getElaboratedKeywordLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2381
¶unsigned int getExtraLocalDataAlignment() const
unsigned int getExtraLocalDataAlignment() const
Declared at: clang/include/clang/AST/TypeLoc.h:2484
¶unsigned int getExtraLocalDataSize() const
unsigned int getExtraLocalDataSize() const
Declared at: clang/include/clang/AST/TypeLoc.h:2480
¶clang::SourceLocation getLAngleLoc() const
clang::SourceLocation getLAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:2429
¶clang::SourceRange getLocalSourceRange() const
clang::SourceRange getLocalSourceRange() const
Declared at: clang/include/clang/AST/TypeLoc.h:2461
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Declared at: clang/include/clang/AST/TypeLoc.h:2445
¶clang::NestedNameSpecifierLoc getQualifierLoc()
const
clang::NestedNameSpecifierLoc getQualifierLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2389
¶clang::SourceLocation getRAngleLoc() const
clang::SourceLocation getRAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:2437
¶clang::SourceLocation getTemplateKeywordLoc()
const
clang::SourceLocation getTemplateKeywordLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:2413
¶clang::SourceLocation getTemplateNameLoc() const
clang::SourceLocation getTemplateNameLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:2421
¶void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2478
Parameters
- clang::ASTContext& Context
- clang::SourceLocation Loc
¶void setArgLocInfo(
unsigned int i,
clang::TemplateArgumentLocInfo AI)
void setArgLocInfo(
unsigned int i,
clang::TemplateArgumentLocInfo AI)
Declared at: clang/include/clang/AST/TypeLoc.h:2449
Parameters
- unsigned int i
- clang::TemplateArgumentLocInfo AI
¶void setElaboratedKeywordLoc(
clang::SourceLocation Loc)
void setElaboratedKeywordLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2385
Parameters
¶void setLAngleLoc(clang::SourceLocation Loc)
void setLAngleLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2433
Parameters
¶void setQualifierLoc(
clang::NestedNameSpecifierLoc QualifierLoc)
void setQualifierLoc(
clang::NestedNameSpecifierLoc QualifierLoc)
Declared at: clang/include/clang/AST/TypeLoc.h:2397
Parameters
- clang::NestedNameSpecifierLoc QualifierLoc
¶void setRAngleLoc(clang::SourceLocation Loc)
void setRAngleLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2441
Parameters
¶void setTemplateKeywordLoc(
clang::SourceLocation Loc)
void setTemplateKeywordLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2417
Parameters
¶void setTemplateNameLoc(clang::SourceLocation Loc)
void setTemplateNameLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:2425