class ObjCObjectTypeLoc
Declaration
class ObjCObjectTypeLoc : 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:940
Inherits from: ConcreteTypeLoc
Method Overview
- public clang::TypeLoc getBaseLoc() const
- public unsigned int getExtraLocalDataAlignment() const
- public unsigned int getExtraLocalDataSize() const
- public clang::QualType getInnerType() const
- public clang::SourceRange getLocalSourceRange() const
- public unsigned int getNumProtocols() const
- public unsigned int getNumTypeArgs() const
- public clang::ObjCProtocolDecl * getProtocol(unsigned int i) const
- public clang::SourceLocation getProtocolLAngleLoc() const
- public clang::SourceLocation getProtocolLoc(unsigned int i) const
- private clang::SourceLocation * getProtocolLocArray() const
- public ArrayRef<clang::SourceLocation> getProtocolLocs() const
- public clang::SourceLocation getProtocolRAngleLoc() const
- private clang::TypeSourceInfo ** getTypeArgLocArray() const
- public clang::TypeSourceInfo * getTypeArgTInfo(unsigned int i) const
- public clang::SourceLocation getTypeArgsLAngleLoc() const
- public clang::SourceLocation getTypeArgsRAngleLoc() const
- public bool hasBaseTypeAsWritten() const
- public void initializeLocal(clang::ASTContext & Context, clang::SourceLocation Loc)
- public void setHasBaseTypeAsWritten(bool HasBaseType)
- public void setProtocolLAngleLoc(clang::SourceLocation Loc)
- public void setProtocolLoc(unsigned int i, clang::SourceLocation Loc)
- public void setProtocolRAngleLoc(clang::SourceLocation Loc)
- public void setTypeArgTInfo(unsigned int i, clang::TypeSourceInfo * TInfo)
- public void setTypeArgsLAngleLoc(clang::SourceLocation Loc)
- public void setTypeArgsRAngleLoc(clang::SourceLocation Loc)
Methods
¶clang::TypeLoc getBaseLoc() const
clang::TypeLoc getBaseLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:1034
¶unsigned int getExtraLocalDataAlignment() const
unsigned int getExtraLocalDataAlignment() const
Declared at: clang/include/clang/AST/TypeLoc.h:1055
¶unsigned int getExtraLocalDataSize() const
unsigned int getExtraLocalDataSize() const
Declared at: clang/include/clang/AST/TypeLoc.h:1050
¶clang::QualType getInnerType() const
clang::QualType getInnerType() const
Declared at: clang/include/clang/AST/TypeLoc.h:1061
¶clang::SourceRange getLocalSourceRange() const
clang::SourceRange getLocalSourceRange() const
Declared at: clang/include/clang/AST/TypeLoc.h:1038
¶unsigned int getNumProtocols() const
unsigned int getNumProtocols() const
Declared at: clang/include/clang/AST/TypeLoc.h:1002
¶unsigned int getNumTypeArgs() const
unsigned int getNumTypeArgs() const
Declared at: clang/include/clang/AST/TypeLoc.h:972
¶clang::ObjCProtocolDecl* getProtocol(
unsigned int i) const
clang::ObjCProtocolDecl* getProtocol(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:1016
Parameters
- unsigned int i
¶clang::SourceLocation getProtocolLAngleLoc() const
clang::SourceLocation getProtocolLAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:986
¶clang::SourceLocation getProtocolLoc(
unsigned int i) const
clang::SourceLocation getProtocolLoc(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:1006
Parameters
- unsigned int i
¶clang::SourceLocation* getProtocolLocArray() const
clang::SourceLocation* getProtocolLocArray() const
Declared at: clang/include/clang/AST/TypeLoc.h:951
¶ArrayRef<clang::SourceLocation> getProtocolLocs()
const
ArrayRef<clang::SourceLocation> getProtocolLocs()
const
Declared at: clang/include/clang/AST/TypeLoc.h:1022
¶clang::SourceLocation getProtocolRAngleLoc() const
clang::SourceLocation getProtocolRAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:994
¶clang::TypeSourceInfo** getTypeArgLocArray() const
clang::TypeSourceInfo** getTypeArgLocArray() const
Declared at: clang/include/clang/AST/TypeLoc.h:945
¶clang::TypeSourceInfo* getTypeArgTInfo(
unsigned int i) const
clang::TypeSourceInfo* getTypeArgTInfo(
unsigned int i) const
Declared at: clang/include/clang/AST/TypeLoc.h:976
Parameters
- unsigned int i
¶clang::SourceLocation getTypeArgsLAngleLoc() const
clang::SourceLocation getTypeArgsLAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:956
¶clang::SourceLocation getTypeArgsRAngleLoc() const
clang::SourceLocation getTypeArgsRAngleLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:964
¶bool hasBaseTypeAsWritten() const
bool hasBaseTypeAsWritten() const
Declared at: clang/include/clang/AST/TypeLoc.h:1026
¶void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1048
Parameters
- clang::ASTContext& Context
- clang::SourceLocation Loc
¶void setHasBaseTypeAsWritten(bool HasBaseType)
void setHasBaseTypeAsWritten(bool HasBaseType)
Declared at: clang/include/clang/AST/TypeLoc.h:1030
Parameters
- bool HasBaseType
¶void setProtocolLAngleLoc(
clang::SourceLocation Loc)
void setProtocolLAngleLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:990
Parameters
¶void setProtocolLoc(unsigned int i,
clang::SourceLocation Loc)
void setProtocolLoc(unsigned int i,
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1011
Parameters
- unsigned int i
- clang::SourceLocation Loc
¶void setProtocolRAngleLoc(
clang::SourceLocation Loc)
void setProtocolRAngleLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:998
Parameters
¶void setTypeArgTInfo(unsigned int i,
clang::TypeSourceInfo* TInfo)
void setTypeArgTInfo(unsigned int i,
clang::TypeSourceInfo* TInfo)
Declared at: clang/include/clang/AST/TypeLoc.h:981
Parameters
- unsigned int i
- clang::TypeSourceInfo* TInfo
¶void setTypeArgsLAngleLoc(
clang::SourceLocation Loc)
void setTypeArgsLAngleLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:960
Parameters
¶void setTypeArgsRAngleLoc(
clang::SourceLocation Loc)
void setTypeArgsRAngleLoc(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/TypeLoc.h:968