class DependentAddressSpaceTypeLoc
Declaration
class DependentAddressSpaceTypeLoc : 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:1713
Inherits from: ConcreteTypeLoc
Method Overview
- public clang::Expr * getAttrExprOperand() const
- public clang::SourceLocation getAttrNameLoc() const
- public clang::SourceRange getAttrOperandParensRange() const
- public clang::QualType getInnerType() const
- public clang::SourceRange getLocalSourceRange() const
- public clang::TypeLoc getPointeeTypeLoc() const
- public void initializeLocal(clang::ASTContext & Context, clang::SourceLocation loc)
- public void setAttrExprOperand(clang::Expr * e)
- public void setAttrNameLoc(clang::SourceLocation loc)
- public void setAttrOperandParensRange(clang::SourceRange range)
Methods
¶clang::Expr* getAttrExprOperand() const
clang::Expr* getAttrExprOperand() const
Description
The attribute's expression operand, if it has one. int * __attribute__((address_space(11))) ^~
Declared at: clang/include/clang/AST/TypeLoc.h:1732
¶clang::SourceLocation getAttrNameLoc() const
clang::SourceLocation getAttrNameLoc() const
Description
The location of the attribute name, i.e. int * __attribute__((address_space(11))) ^~~~~~~~~~~~~
Declared at: clang/include/clang/AST/TypeLoc.h:1722
¶clang::SourceRange getAttrOperandParensRange()
const
clang::SourceRange getAttrOperandParensRange()
const
Description
The location of the parentheses around the operand, if there is an operand. int * __attribute__((address_space(11))) ^ ^
Declared at: clang/include/clang/AST/TypeLoc.h:1743
¶clang::QualType getInnerType() const
clang::QualType getInnerType() const
Description
Returns the type before the address space attribute application area. int * __attribute__((address_space(11))) * ^ ^
Declared at: clang/include/clang/AST/TypeLoc.h:1760
¶clang::SourceRange getLocalSourceRange() const
clang::SourceRange getLocalSourceRange() const
Declared at: clang/include/clang/AST/TypeLoc.h:1750
¶clang::TypeLoc getPointeeTypeLoc() const
clang::TypeLoc getPointeeTypeLoc() const
Declared at: clang/include/clang/AST/TypeLoc.h:1764
¶void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation loc)
void initializeLocal(clang::ASTContext& Context,
clang::SourceLocation loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1768
Parameters
- clang::ASTContext& Context
- clang::SourceLocation loc
¶void setAttrExprOperand(clang::Expr* e)
void setAttrExprOperand(clang::Expr* e)
Declared at: clang/include/clang/AST/TypeLoc.h:1735
Parameters
- clang::Expr* e
¶void setAttrNameLoc(clang::SourceLocation loc)
void setAttrNameLoc(clang::SourceLocation loc)
Declared at: clang/include/clang/AST/TypeLoc.h:1725
Parameters
¶void setAttrOperandParensRange(
clang::SourceRange range)
void setAttrOperandParensRange(
clang::SourceRange range)
Declared at: clang/include/clang/AST/TypeLoc.h:1746
Parameters
- clang::SourceRange range