class TemplateSpecializationTypeLoc
Declaration
class TemplateSpecializationTypeLoc : 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:1606
Inherits from: ConcreteTypeLoc
Method Overview
- public void copy(clang::TemplateSpecializationTypeLoc Loc)
- private clang::TemplateArgumentLocInfo * getArgInfos() const
- public clang::TemplateArgumentLoc getArgLoc(unsigned int i) const
- public clang::TemplateArgumentLocInfo getArgLocInfo(unsigned int i) 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::SourceLocation getRAngleLoc() const
- public clang::SourceLocation getTemplateKeywordLoc() const
- public clang::SourceLocation getTemplateNameLoc() const
- public static void initializeArgLocs(clang::ASTContext & Context, unsigned int NumArgs, const clang::TemplateArgument * Args, clang::TemplateArgumentLocInfo * ArgInfos, clang::SourceLocation Loc)
- public void initializeLocal(clang::ASTContext & Context, clang::SourceLocation Loc)
- public void setArgLocInfo(unsigned int i, clang::TemplateArgumentLocInfo AI)
- public void setLAngleLoc(clang::SourceLocation Loc)
- public void setRAngleLoc(clang::SourceLocation Loc)
- public void setTemplateKeywordLoc(clang::SourceLocation Loc)
- public void setTemplateNameLoc(clang::SourceLocation Loc)
Methods
¶void copy(
clang::TemplateSpecializationTypeLoc Loc)
void copy(
clang::TemplateSpecializationTypeLoc Loc)
Description
- Copy the location information from the given info.
Declared at: clang/include/clang/AST/TypeLoc.h:1661
Parameters
¶clang::TemplateArgumentLocInfo* getArgInfos()
const
clang::TemplateArgumentLocInfo* getArgInfos()
const
Declared at: clang/include/clang/AST/TypeLoc.h:1702
¶clang::TemplateArgumentLoc getArgLoc(
unsigned int i) const
clang::TemplateArgumentLoc getArgLoc(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:1648
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:1644
Parameters
- unsigned int i
¶unsigned int getExtraLocalDataAlignment() const
unsigned int getExtraLocalDataAlignment() const
Declared at: clang/include/clang/AST/TypeLoc.h:1697
¶unsigned int getExtraLocalDataSize() const
unsigned int getExtraLocalDataSize() const
Declared at: clang/include/clang/AST/TypeLoc.h:1693
¶clang::SourceLocation getLAngleLoc() const
clang::SourceLocation getLAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:1620
¶clang::SourceRange getLocalSourceRange() const
clang::SourceRange getLocalSourceRange() const
Declared at: clang/include/clang/AST/TypeLoc.h:1672
¶unsigned int getNumArgs() const
unsigned int getNumArgs() const
Declared at: clang/include/clang/AST/TypeLoc.h:1636
¶clang::SourceLocation getRAngleLoc() const
clang::SourceLocation getRAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:1628
¶clang::SourceLocation getTemplateKeywordLoc()
const
clang::SourceLocation getTemplateKeywordLoc()
const
Declared at: clang/include/clang/AST/TypeLoc.h:1612
¶clang::SourceLocation getTemplateNameLoc() const
clang::SourceLocation getTemplateNameLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:1652
¶static void initializeArgLocs(
clang::ASTContext& Context,
unsigned int NumArgs,
const clang::TemplateArgument* Args,
clang::TemplateArgumentLocInfo* ArgInfos,
clang::SourceLocation Loc)
static void initializeArgLocs(
clang::ASTContext& Context,
unsigned int NumArgs,
const clang::TemplateArgument* Args,
clang::TemplateArgumentLocInfo* ArgInfos,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1688
Parameters
- clang::ASTContext& Context
- unsigned int NumArgs
- const clang::TemplateArgument* Args
- clang::TemplateArgumentLocInfo* ArgInfos
- clang::SourceLocation Loc
¶void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1679
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:1640
Parameters
- unsigned int i
- clang::TemplateArgumentLocInfo AI
¶void setLAngleLoc(clang::SourceLocation Loc)
void setLAngleLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1624
Parameters
¶void setRAngleLoc(clang::SourceLocation Loc)
void setRAngleLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1632
Parameters
¶void setTemplateKeywordLoc(
clang::SourceLocation Loc)
void setTemplateKeywordLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1616
Parameters
¶void setTemplateNameLoc(clang::SourceLocation Loc)
void setTemplateNameLoc(clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1656