class AutoTypeLoc

Declaration

class AutoTypeLoc : 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:2114

Inherits from: ConcreteTypeLoc

Method Overview

Methods

void copy(clang::AutoTypeLoc Loc)

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

Parameters

clang::AutoTypeLoc Loc

clang::TemplateArgumentLocInfo* getArgInfos()
    const

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

clang::TemplateArgumentLoc getArgLoc(
    unsigned int i) const

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

Parameters

unsigned int i

clang::TemplateArgumentLocInfo getArgLocInfo(
    unsigned int i) const

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

Parameters

unsigned int i

clang::AutoTypeKeyword getAutoKeyword() const

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

clang::DeclarationNameInfo getConceptNameInfo()
    const

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

clang::SourceLocation getConceptNameLoc() const

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

unsigned int getExtraLocalDataAlignment() const

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

unsigned int getExtraLocalDataSize() const

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

clang::NamedDecl* getFoundDecl() const

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

clang::SourceLocation getLAngleLoc() const

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

clang::SourceRange getLocalSourceRange() const

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

clang::ConceptDecl* getNamedConcept() const

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

const clang::NestedNameSpecifierLoc&
getNestedNameSpecifierLoc() const

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

unsigned int getNumArgs() const

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

clang::SourceLocation getRAngleLoc() const

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

clang::SourceLocation getRParenLoc() const

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

clang::SourceLocation getTemplateKWLoc() const

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

bool hasExplicitTemplateArgs() const

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

void initializeLocal(clang::ASTContext& Context,
                     clang::SourceLocation Loc)

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

Parameters

clang::ASTContext& Context
clang::SourceLocation Loc

bool isConstrained() const

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

bool isDecltypeAuto() const

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

void setArgLocInfo(
    unsigned int i,
    clang::TemplateArgumentLocInfo AI)

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

Parameters

unsigned int i
clang::TemplateArgumentLocInfo AI

void setConceptNameLoc(clang::SourceLocation Loc)

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

Parameters

clang::SourceLocation Loc

void setFoundDecl(clang::NamedDecl* D)

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

Parameters

clang::NamedDecl* D

void setLAngleLoc(clang::SourceLocation Loc)

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

Parameters

clang::SourceLocation Loc

void setNestedNameSpecifierLoc(
    clang::NestedNameSpecifierLoc NNS)

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

Parameters

clang::NestedNameSpecifierLoc NNS

void setRAngleLoc(clang::SourceLocation Loc)

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

Parameters

clang::SourceLocation Loc

void setRParenLoc(clang::SourceLocation Loc)

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

Parameters

clang::SourceLocation Loc

void setTemplateKWLoc(clang::SourceLocation Loc)

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

Parameters

clang::SourceLocation Loc