clang: clang::TemplateSpecializationTypeLoc Class Reference (original) (raw)

#include "[clang/AST/TypeLoc.h](TypeLoc%5F8h%5Fsource.html)"

Public Member Functions
void set (SourceLocation ElaboratedKeywordLoc, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKeywordLoc, SourceLocation NameLoc, SourceLocation LAngleLoc, SourceLocation RAngleLoc)
void set (SourceLocation ElaboratedKeywordLoc, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKeywordLoc, SourceLocation NameLoc, const TemplateArgumentListInfo &TAL)
SourceLocation getElaboratedKeywordLoc () const
NestedNameSpecifierLoc getQualifierLoc () const
SourceLocation getTemplateKeywordLoc () const
SourceLocation getTemplateNameLoc () const
SourceLocation getLAngleLoc () const
unsigned getNumArgs () const
MutableArrayRef< TemplateArgumentLocInfo > getArgLocInfos ()
TemplateArgumentLoc getArgLoc (unsigned i) const
SourceLocation getRAngleLoc () const
void copy (TemplateSpecializationTypeLoc Loc)
SourceRange getLocalSourceRange () const
void initializeLocal (ASTContext &Context, SourceLocation Loc)
unsigned getExtraLocalDataSize () const
unsigned getExtraLocalDataAlignment () const
Public Member Functions inherited from clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >
unsigned getLocalDataAlignment () const
unsigned getLocalDataSize () const
void copyLocal (TemplateSpecializationTypeLoc other)
TypeLoc getNextTypeLoc () const
const TemplateSpecializationType * getTypePtr () const
Public Member Functions inherited from clang::UnqualTypeLoc
UnqualTypeLoc ()=default
UnqualTypeLoc (const Type *Ty, void *Data)
const Type * getTypePtr () const
TypeLocClass getTypeLocClass () const
Public Member Functions inherited from clang::TypeLoc
TypeLoc ()=default
TypeLoc (QualType ty, void *opaqueData)
TypeLoc (const Type *ty, void *opaqueData)
template<typename T>
T castAs () const
Convert to the specified [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") type, asserting that this [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") is of the desired type.
template<typename T>
T getAs () const
Convert to the specified [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") type, returning a null [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") if this [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") is not of the desired type.
template<typename T>
T getAsAdjusted () const
Convert to the specified [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") type, returning a null [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") if this [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") is not of the desired type.
TypeLocClass getTypeLocClass () const
bool isNull () const
operator bool () const
QualType getType () const
Get the type for which this source info wrapper provides information.
const Type * getTypePtr () const
void * getOpaqueData () const
Get the pointer where source information is stored.
SourceLocation getBeginLoc () const
Get the begin source location.
SourceLocation getEndLoc () const
Get the end source location.
SourceRange getSourceRange () const LLVM_READONLY
Get the full source range.
SourceRange getLocalSourceRange () const
Get the local source range.
unsigned getFullDataSize () const
Returns the size of the type source info data block.
TypeLoc getNextTypeLoc () const
Get the next [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") pointed by this [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info."), e.g for "int*" the [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") is a PointerLoc and next [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") is for "int".
UnqualTypeLoc getUnqualifiedLoc () const
Skips past any qualifiers, if this is qualified.
TypeLoc IgnoreParens () const
TypeLoc findExplicitQualifierLoc () const
Find a type with the location of an explicit type qualifier.
AutoTypeLoc getContainedAutoTypeLoc () const
Get the typeloc of an AutoType whose type will be deduced for a variable with an initializer of this type.
SourceLocation getTemplateKeywordLoc () const
Get the SourceLocation of the template keyword (if any).
NestedNameSpecifierLoc getPrefix () const
If this type represents a qualified-id, this returns it's nested name specifier.
SourceLocation getNonElaboratedBeginLoc () const
This returns the position of the type after any elaboration, such as the 'struct' keyword.
void initialize (ASTContext &Context, SourceLocation Loc) const
Initializes this to state that every location in this type is the given location.
void initializeFullCopy (TypeLoc Other)
Initializes this by copying its information from another [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") of the same type.
void initializeFullCopy (TypeLoc Other, unsigned Size)
Initializes this by copying its information from another [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") of the same type.
void copy (TypeLoc other)
Copies the other type loc into this one.
SourceLocation findNullabilityLoc () const
Find the location of the nullability specifier (__nonnull, __nullable, or __null_unspecifier), if there is one.
void dump () const
void dump (llvm::raw_ostream &, const ASTContext &) const
Static Public Member Functions
static void initializeArgLocs (ASTContext &Context, ArrayRef< TemplateArgument > Args, TemplateArgumentLocInfo *ArgInfos, SourceLocation Loc)
Static Public Member Functions inherited from clang::TypeLoc
static unsigned getFullDataSizeForType (QualType Ty)
Returns the size of type source info data block for the given type.
static unsigned getLocalAlignmentForType (QualType Ty)
Returns the alignment of type source info data block for the given type.
Additional Inherited Members
Public Types inherited from clang::TypeLoc
enum TypeLocClass { Qualified }
The kinds of TypeLocs. More...
Protected Member Functions inherited from clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >
unsigned getExtraLocalDataSize () const
unsigned getExtraLocalDataAlignment () const
TemplateSpecializationLocInfo * getLocalData () const
void * getExtraLocalData () const
Gets a pointer past the Info structure; useful for classes with local data that can't be captured in the Info (e.g.
void * getNonLocalData () const
HasNoInnerType getInnerType () const
TypeLoc getInnerTypeLoc () const
Protected Attributes inherited from clang::TypeLoc
const void * Ty = nullptr
void * Data = nullptr

Definition at line 1842 of file TypeLoc.h.

copy()

getArgLoc()

getArgLocInfos()

getElaboratedKeywordLoc()

SourceLocation clang::TemplateSpecializationTypeLoc::getElaboratedKeywordLoc ( ) const inline

getExtraLocalDataAlignment()

unsigned clang::TemplateSpecializationTypeLoc::getExtraLocalDataAlignment ( ) const inline

getExtraLocalDataSize()

unsigned clang::TemplateSpecializationTypeLoc::getExtraLocalDataSize ( ) const inline

getLAngleLoc()

SourceLocation clang::TemplateSpecializationTypeLoc::getLAngleLoc ( ) const inline

getLocalSourceRange()

SourceRange clang::TemplateSpecializationTypeLoc::getLocalSourceRange ( ) const inline

getNumArgs()

unsigned clang::TemplateSpecializationTypeLoc::getNumArgs ( ) const inline

getQualifierLoc()

getRAngleLoc()

SourceLocation clang::TemplateSpecializationTypeLoc::getRAngleLoc ( ) const inline

getTemplateKeywordLoc()

SourceLocation clang::TemplateSpecializationTypeLoc::getTemplateKeywordLoc ( ) const inline

getTemplateNameLoc()

SourceLocation clang::TemplateSpecializationTypeLoc::getTemplateNameLoc ( ) const inline

initializeArgLocs()

Definition at line 714 of file TypeLoc.cpp.

References clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, getKind(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::StructuralValue, clang::Template, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.

Referenced by createTrivialConceptReference(), and initializeLocal().

initializeLocal()

set() [1/2]

set() [2/2]

Definition at line 644 of file TypeLoc.cpp.

References clang::Data, clang::NestedNameSpecifierLoc::getBeginLoc(), clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >::getLocalData(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::NestedNameSpecifierLoc::getOpaqueData(), clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >::getTypePtr(), clang::SourceLocation::isValid(), and clang::TemplateSpecializationLocInfo::QualifierData.

Referenced by clang::Sema::ActOnTypenameType(), initializeLocal(), and set().


The documentation for this class was generated from the following files: