|
clang 22.0.0git
|
#include "clang/AST/TypeLoc.h"
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 type, asserting that this TypeLoc is of the desired type. | |
| template<typename T> | |
| T | getAs () const |
| Convert to the specified TypeLoc type, returning a null TypeLoc if this TypeLoc is not of the desired type. | |
| template<typename T> | |
| T | getAsAdjusted () const |
| Convert to the specified TypeLoc type, returning a null TypeLoc if this TypeLoc 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 pointed by this TypeLoc, e.g for "int*" the TypeLoc is a PointerLoc and next TypeLoc 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 of the same type. | |
| void | initializeFullCopy (TypeLoc Other, unsigned Size) |
| Initializes this by copying its information from another TypeLoc 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 |
|
inline |
Definition at line 1896 of file TypeLoc.h.
References clang::Data, clang::TypeLoc::Data, clang::TypeLoc::getFullDataSize(), and memcpy().
|
inline |
Definition at line 1888 of file TypeLoc.h.
Referenced by clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitTemplateSpecializationTypeLoc().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 1916 of file TypeLoc.h.
References getNumArgs().
|
inline |
|
inline |
|
inline |
Definition at line 1880 of file TypeLoc.h.
Referenced by getArgLocInfos(), getExtraLocalDataSize(), and clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitTemplateSpecializationTypeLoc().
|
inline |
Definition at line 1862 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >::getLocalData(), and clang::ConcreteTypeLoc< UnqualTypeLoc, TemplateSpecializationTypeLoc, TemplateSpecializationType, TemplateSpecializationLocInfo >::getTypePtr().
|
inline |
|
inline |
|
inline |
|
static |
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().
| void TemplateSpecializationTypeLoc::initializeLocal | ( | ASTContext & | Context, |
| SourceLocation | Loc ) |
| void TemplateSpecializationTypeLoc::set | ( | SourceLocation | ElaboratedKeywordLoc, |
| NestedNameSpecifierLoc | QualifierLoc, | ||
| SourceLocation | TemplateKeywordLoc, | ||
| SourceLocation | NameLoc, | ||
| const TemplateArgumentListInfo & | TAL ) |
Definition at line 675 of file TypeLoc.cpp.
References getArgLocInfos(), clang::TemplateArgumentListInfo::getLAngleLoc(), clang::TemplateArgumentListInfo::getRAngleLoc(), set(), and clang::TemplateArgumentListInfo::size().
| void TemplateSpecializationTypeLoc::set | ( | SourceLocation | ElaboratedKeywordLoc, |
| NestedNameSpecifierLoc | QualifierLoc, | ||
| SourceLocation | TemplateKeywordLoc, | ||
| SourceLocation | NameLoc, | ||
| SourceLocation | LAngleLoc, | ||
| SourceLocation | RAngleLoc ) |
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().