clang 20.0.0git
|
Wrapper for source info for builtin types. More...
#include "clang/AST/TypeLoc.h"
Public Member Functions | |
SourceLocation | getBuiltinLoc () const |
void | setBuiltinLoc (SourceLocation Loc) |
void | expandBuiltinRange (SourceRange Range) |
SourceLocation | getNameLoc () const |
WrittenBuiltinSpecs & | getWrittenBuiltinSpecs () |
const WrittenBuiltinSpecs & | getWrittenBuiltinSpecs () const |
bool | needsExtraLocalData () const |
unsigned | getExtraLocalDataSize () const |
unsigned | getExtraLocalDataAlignment () const |
SourceRange | getLocalSourceRange () const |
TypeSpecifierSign | getWrittenSignSpec () const |
bool | hasWrittenSignSpec () const |
void | setWrittenSignSpec (TypeSpecifierSign written) |
TypeSpecifierWidth | getWrittenWidthSpec () const |
bool | hasWrittenWidthSpec () const |
void | setWrittenWidthSpec (TypeSpecifierWidth written) |
TypeSpecifierType | getWrittenTypeSpec () const |
bool | hasWrittenTypeSpec () const |
void | setWrittenTypeSpec (TypeSpecifierType written) |
bool | hasModeAttr () const |
void | setModeAttr (bool written) |
void | initializeLocal (ASTContext &Context, SourceLocation Loc) |
Public Member Functions inherited from clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo > | |
unsigned | getLocalDataAlignment () const |
unsigned | getLocalDataSize () const |
void | copyLocal (BuiltinTypeLoc other) |
TypeLoc | getNextTypeLoc () const |
const BuiltinType * | 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). | |
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 |
Additional Inherited Members | |
Public Types inherited from clang::TypeLoc | |
enum | TypeLocClass { Qualified } |
The kinds of TypeLocs. More... | |
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. | |
Protected Member Functions inherited from clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo > | |
unsigned | getExtraLocalDataSize () const |
unsigned | getExtraLocalDataAlignment () const |
BuiltinLocInfo * | 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 575 of file TypeLoc.h.
References clang::BuiltinLocInfo::BuiltinRange, clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getLocalData(), clang::SourceLocation::isValid(), Range, clang::SourceRange::setBegin(), and clang::SourceRange::setEnd().
|
inline |
Definition at line 567 of file TypeLoc.h.
References clang::BuiltinLocInfo::BuiltinRange, clang::SourceRange::getBegin(), and clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getLocalData().
Referenced by getNameLoc().
|
inline |
Definition at line 605 of file TypeLoc.h.
References needsExtraLocalData().
|
inline |
Definition at line 601 of file TypeLoc.h.
References needsExtraLocalData().
|
inline |
Definition at line 609 of file TypeLoc.h.
References clang::BuiltinLocInfo::BuiltinRange, and clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getLocalData().
|
inline |
Definition at line 585 of file TypeLoc.h.
References getBuiltinLoc().
|
inline |
Definition at line 587 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getExtraLocalData().
Referenced by getWrittenSignSpec(), getWrittenTypeSpec(), getWrittenWidthSpec(), hasModeAttr(), initializeLocal(), setModeAttr(), setWrittenSignSpec(), setWrittenTypeSpec(), and setWrittenWidthSpec().
|
inline |
Definition at line 590 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getExtraLocalData().
|
inline |
Definition at line 613 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), needsExtraLocalData(), clang::WrittenBuiltinSpecs::Sign, and clang::Unspecified.
Referenced by hasWrittenSignSpec().
TypeSpecifierType BuiltinTypeLoc::getWrittenTypeSpec | ( | ) | const |
Definition at line 332 of file TypeLoc.cpp.
References clang::BuiltinType::getKind(), clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getTypePtr(), getWrittenBuiltinSpecs(), needsExtraLocalData(), clang::TST_bool, clang::TST_char, clang::TST_char16, clang::TST_char32, clang::TST_char8, clang::TST_unspecified, clang::TST_void, clang::TST_wchar, and clang::WrittenBuiltinSpecs::Type.
Referenced by hasWrittenTypeSpec().
|
inline |
Definition at line 629 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), needsExtraLocalData(), clang::Unspecified, and clang::WrittenBuiltinSpecs::Width.
Referenced by hasWrittenWidthSpec().
|
inline |
Definition at line 656 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), clang::WrittenBuiltinSpecs::ModeAttr, and needsExtraLocalData().
|
inline |
Definition at line 620 of file TypeLoc.h.
References getWrittenSignSpec(), and clang::Unspecified.
|
inline |
Definition at line 647 of file TypeLoc.h.
References getWrittenTypeSpec(), and clang::TST_unspecified.
|
inline |
Definition at line 636 of file TypeLoc.h.
References getWrittenWidthSpec(), and clang::Unspecified.
|
inline |
Definition at line 668 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), Loc, clang::WrittenBuiltinSpecs::ModeAttr, needsExtraLocalData(), setBuiltinLoc(), clang::WrittenBuiltinSpecs::Sign, clang::TST_unspecified, clang::WrittenBuiltinSpecs::Type, clang::Unspecified, and clang::WrittenBuiltinSpecs::Width.
|
inline |
Definition at line 594 of file TypeLoc.h.
References clang::BuiltinType::getKind(), and clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getTypePtr().
Referenced by getExtraLocalDataAlignment(), getExtraLocalDataSize(), getWrittenSignSpec(), getWrittenTypeSpec(), getWrittenWidthSpec(), hasModeAttr(), initializeLocal(), setModeAttr(), setWrittenSignSpec(), setWrittenTypeSpec(), and setWrittenWidthSpec().
|
inline |
Definition at line 571 of file TypeLoc.h.
References clang::BuiltinLocInfo::BuiltinRange, clang::ConcreteTypeLoc< UnqualTypeLoc, BuiltinTypeLoc, BuiltinType, BuiltinLocInfo >::getLocalData(), and Loc.
Referenced by initializeLocal().
|
inline |
Definition at line 663 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), clang::WrittenBuiltinSpecs::ModeAttr, and needsExtraLocalData().
|
inline |
Definition at line 624 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), needsExtraLocalData(), and clang::WrittenBuiltinSpecs::Sign.
|
inline |
Definition at line 651 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), needsExtraLocalData(), and clang::WrittenBuiltinSpecs::Type.
|
inline |
Definition at line 640 of file TypeLoc.h.
References getWrittenBuiltinSpecs(), needsExtraLocalData(), and clang::WrittenBuiltinSpecs::Width.