clang: clang::TypeLocBuilder Class Reference (original) (raw)

#include "[/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Sema/TypeLocBuilder.h](TypeLocBuilder%5F8h%5Fsource.html)"

Public Member Functions
TypeLocBuilder ()
~TypeLocBuilder ()
TypeLocBuilder (const TypeLocBuilder &)=delete
TypeLocBuilder & operator= (const TypeLocBuilder &)=delete
void reserve (size_t Requested)
Ensures that this buffer has at least as much capacity as described.
void pushFullCopy (TypeLoc L)
Pushes a copy of the given [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") onto this builder.
void pushTrivial (ASTContext &Context, QualType T, SourceLocation Loc)
Pushes 'T' with all locations pointing to 'Loc'.
TypeSpecTypeLoc pushTypeSpec (QualType T)
Pushes space for a typespec [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.").
void clear ()
Resets this builder to the newly-initialized state.
void TypeWasModifiedSafely (QualType T)
Tell the TypeLocBuilder that the type it is storing has been modified in some safe way that doesn't affect type-location information.
template
TyLocType push (QualType T)
Pushes space for a new [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") of the given type.
TypeSourceInfo * getTypeSourceInfo (ASTContext &Context, QualType T)
Creates a TypeSourceInfo for the given type.
TypeLoc getTypeLocInContext (ASTContext &Context, QualType T)
Copies the type-location information to the given AST context and returns a [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") referring into the AST context.

Definition at line 22 of file TypeLocBuilder.h.

clang::TypeLocBuilder::TypeLocBuilder ( ) inline

~TypeLocBuilder()

clang::TypeLocBuilder::~TypeLocBuilder ( ) inline

TypeLocBuilder() [2/2]

clang::TypeLocBuilder::TypeLocBuilder ( const TypeLocBuilder & ) delete

clear()

void clang::TypeLocBuilder::clear ( ) inline

getTypeLocInContext()

getTypeSourceInfo()

Creates a TypeSourceInfo for the given type.

Definition at line 110 of file TypeLocBuilder.h.

References clang::TypeLoc::getOpaqueData(), clang::TypeSourceInfo::getTypeLoc(), memcpy(), and clang::T.

Referenced by clang::Sema::ActOnDependentTag(), clang::SemaObjC::actOnObjCTypeParam(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplateIdType(), clang::Sema::buildLambdaInitCaptureInitialization(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CheckTypenameType(), clang::Sema::ClassifyName(), GetFullTypeForDeclarator(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::Sema::getTypeName(), clang::Sema::InstantiateFunctionDefinition(), ProcessAPINotes(), clang::Sema::SubstFunctionDeclType(), clang::Sema::SubstType(), clang::TreeTransform< Derived >::TransformType(), and clang::TreeTransform< Derived >::TransformTypeWithDeducedTST().

operator=()

push()

template

TyLocType clang::TypeLocBuilder::push ( QualType T) inline

Pushes space for a new [TypeLoc](classclang%5F1%5F1TypeLoc.html "Base wrapper for a particular "section" of type source info.") of the given type.

Invalidates any TypeLocs previously retrieved from this builder.

Definition at line 102 of file TypeLocBuilder.h.

References clang::TypeLoc::castAs(), and clang::T.

Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), clang::Sema::ActOnDependentTag(), clang::SemaObjC::actOnObjCTypeParam(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplateIdType(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::buildLambdaInitCaptureInitialization(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CheckTypenameType(), clang::Sema::ClassifyName(), ExtendNestedNameSpecifier(), GetFullTypeForDeclarator(), clang::Sema::getTypeName(), clang::Sema::InstantiateFunctionDefinition(), ProcessAPINotes(), clang::TreeTransform< Derived >::TransformFunctionProtoType(), clang::TreeTransform< Derived >::TransformReferenceType(), clang::TreeTransform< Derived >::TransformTagType(), and clang::TransformTypeSpecType().

pushFullCopy()

void TypeLocBuilder::pushFullCopy ( TypeLoc L )

pushTrivial()

pushTypeSpec()

reserve()

void clang::TypeLocBuilder::reserve ( size_t Requested) inline

TypeWasModifiedSafely()

void clang::TypeLocBuilder::TypeWasModifiedSafely ( QualType T) inline

The documentation for this class was generated from the following files: