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

Methods

clang::TypeLoc getBaseLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:1034

unsigned int getExtraLocalDataAlignment() const

Declared at: clang/include/clang/AST/TypeLoc.h:1055

unsigned int getExtraLocalDataSize() const

Declared at: clang/include/clang/AST/TypeLoc.h:1050

clang::QualType getInnerType() const

Declared at: clang/include/clang/AST/TypeLoc.h:1061

clang::SourceRange getLocalSourceRange() const

Declared at: clang/include/clang/AST/TypeLoc.h:1038

unsigned int getNumProtocols() const

Declared at: clang/include/clang/AST/TypeLoc.h:1002

unsigned int getNumTypeArgs() const

Declared at: clang/include/clang/AST/TypeLoc.h:972

clang::ObjCProtocolDecl* getProtocol(
    unsigned int i) const

Declared at: clang/include/clang/AST/TypeLoc.h:1016

Parameters

unsigned int i

clang::SourceLocation getProtocolLAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:986

clang::SourceLocation getProtocolLoc(
    unsigned int i) const

Declared at: clang/include/clang/AST/TypeLoc.h:1006

Parameters

unsigned int i

clang::SourceLocation* getProtocolLocArray() const

Declared at: clang/include/clang/AST/TypeLoc.h:951

ArrayRef<clang::SourceLocation> getProtocolLocs()
    const

Declared at: clang/include/clang/AST/TypeLoc.h:1022

clang::SourceLocation getProtocolRAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:994

clang::TypeSourceInfo** getTypeArgLocArray() const

Declared at: clang/include/clang/AST/TypeLoc.h:945

clang::TypeSourceInfo* getTypeArgTInfo(
    unsigned int i) const

Declared at: clang/include/clang/AST/TypeLoc.h:976

Parameters

unsigned int i

clang::SourceLocation getTypeArgsLAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:956

clang::SourceLocation getTypeArgsRAngleLoc() const

Declared at: clang/include/clang/AST/TypeLoc.h:964

bool hasBaseTypeAsWritten() const

Declared at: clang/include/clang/AST/TypeLoc.h:1026

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)

Declared at: clang/include/clang/AST/TypeLoc.h:1030

Parameters

bool HasBaseType

void setProtocolLAngleLoc(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:990

Parameters

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)

Declared at: clang/include/clang/AST/TypeLoc.h:998

Parameters

clang::SourceLocation Loc

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)

Declared at: clang/include/clang/AST/TypeLoc.h:960

Parameters

clang::SourceLocation Loc

void setTypeArgsRAngleLoc(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/AST/TypeLoc.h:968

Parameters

clang::SourceLocation Loc