clang 20.0.0git
|
#include "clang/AST/TypeLoc.h"
Public Member Functions | |
SourceLocation | getTypeArgsLAngleLoc () const |
void | setTypeArgsLAngleLoc (SourceLocation Loc) |
SourceLocation | getTypeArgsRAngleLoc () const |
void | setTypeArgsRAngleLoc (SourceLocation Loc) |
unsigned | getNumTypeArgs () const |
TypeSourceInfo * | getTypeArgTInfo (unsigned i) const |
void | setTypeArgTInfo (unsigned i, TypeSourceInfo *TInfo) |
SourceLocation | getProtocolLAngleLoc () const |
void | setProtocolLAngleLoc (SourceLocation Loc) |
SourceLocation | getProtocolRAngleLoc () const |
void | setProtocolRAngleLoc (SourceLocation Loc) |
unsigned | getNumProtocols () const |
SourceLocation | getProtocolLoc (unsigned i) const |
void | setProtocolLoc (unsigned i, SourceLocation Loc) |
ObjCProtocolDecl * | getProtocol (unsigned i) const |
ArrayRef< SourceLocation > | getProtocolLocs () const |
bool | hasBaseTypeAsWritten () const |
void | setHasBaseTypeAsWritten (bool HasBaseType) |
TypeLoc | getBaseLoc () const |
SourceRange | getLocalSourceRange () const |
void | initializeLocal (ASTContext &Context, SourceLocation Loc) |
unsigned | getExtraLocalDataSize () const |
unsigned | getExtraLocalDataAlignment () const |
QualType | getInnerType () const |
Public Member Functions inherited from clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo > | |
unsigned | getLocalDataAlignment () const |
unsigned | getLocalDataSize () const |
void | copyLocal (ObjCObjectTypeLoc other) |
TypeLoc | getNextTypeLoc () const |
const ObjCObjectType * | 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, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo > | |
unsigned | getExtraLocalDataSize () const |
unsigned | getExtraLocalDataAlignment () const |
ObjCObjectTypeLocInfo * | 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 |
|
inline |
|
inline |
Definition at line 1066 of file TypeLoc.h.
References getNumProtocols(), and getNumTypeArgs().
|
inline |
Definition at line 1077 of file TypeLoc.h.
References clang::ObjCObjectType::getBaseType(), and clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getTypePtr().
|
inline |
Definition at line 1054 of file TypeLoc.h.
References getProtocolLAngleLoc(), getProtocolRAngleLoc(), getTypeArgsLAngleLoc(), getTypeArgsRAngleLoc(), and clang::SourceLocation::isInvalid().
|
inline |
Definition at line 1018 of file TypeLoc.h.
References clang::ObjCProtocolQualifiers< T >::getNumProtocols(), and clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getTypePtr().
Referenced by getExtraLocalDataSize(), getProtocol(), getProtocolLoc(), getProtocolLocs(), initializeLocal(), and setProtocolLoc().
|
inline |
Definition at line 988 of file TypeLoc.h.
References clang::ObjCObjectType::getTypeArgsAsWritten(), and clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getTypePtr().
Referenced by getExtraLocalDataSize(), getTypeArgTInfo(), initializeLocal(), and setTypeArgTInfo().
|
inline |
Definition at line 1032 of file TypeLoc.h.
References getNumProtocols(), clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getTypePtr(), and clang::ObjCProtocolQualifiers< T >::qual_begin().
|
inline |
Definition at line 1002 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::ProtocolLAngleLoc.
Referenced by getLocalSourceRange().
|
inline |
Definition at line 1022 of file TypeLoc.h.
References getNumProtocols().
|
inline |
Definition at line 1038 of file TypeLoc.h.
References getNumProtocols().
|
inline |
Definition at line 1010 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::ProtocolRAngleLoc.
Referenced by getLocalSourceRange().
|
inline |
Definition at line 972 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::TypeArgsLAngleLoc.
Referenced by getLocalSourceRange().
|
inline |
Definition at line 980 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::TypeArgsRAngleLoc.
Referenced by getLocalSourceRange().
|
inline |
Definition at line 992 of file TypeLoc.h.
References getNumTypeArgs().
|
inline |
Definition at line 1042 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::HasBaseTypeAsWritten.
void ObjCObjectTypeLoc::initializeLocal | ( | ASTContext & | Context, |
SourceLocation | Loc | ||
) |
Definition at line 495 of file TypeLoc.cpp.
References getNumProtocols(), getNumTypeArgs(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getTypePtr(), Loc, setHasBaseTypeAsWritten(), setProtocolLAngleLoc(), setProtocolLoc(), setProtocolRAngleLoc(), setTypeArgsLAngleLoc(), setTypeArgsRAngleLoc(), and setTypeArgTInfo().
|
inline |
Definition at line 1046 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), and clang::ObjCObjectTypeLocInfo::HasBaseTypeAsWritten.
Referenced by clang::SemaObjC::actOnObjCProtocolQualifierType(), and initializeLocal().
|
inline |
Definition at line 1006 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), Loc, and clang::ObjCObjectTypeLocInfo::ProtocolLAngleLoc.
Referenced by initializeLocal().
|
inline |
Definition at line 1027 of file TypeLoc.h.
References getNumProtocols(), and Loc.
Referenced by initializeLocal().
|
inline |
Definition at line 1014 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), Loc, and clang::ObjCObjectTypeLocInfo::ProtocolRAngleLoc.
Referenced by initializeLocal().
|
inline |
Definition at line 976 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), Loc, and clang::ObjCObjectTypeLocInfo::TypeArgsLAngleLoc.
Referenced by initializeLocal().
|
inline |
Definition at line 984 of file TypeLoc.h.
References clang::ConcreteTypeLoc< UnqualTypeLoc, ObjCObjectTypeLoc, ObjCObjectType, ObjCObjectTypeLocInfo >::getLocalData(), Loc, and clang::ObjCObjectTypeLocInfo::TypeArgsRAngleLoc.
Referenced by initializeLocal().
|
inline |
Definition at line 997 of file TypeLoc.h.
References getNumTypeArgs().
Referenced by initializeLocal().