clang
9.0.0
|
#include "/work/llvm-www-releases/9.0.0/docsbuild/llvm.src/tools/clang/lib/Sema/TypeLocBuilder.h"
Public Member Functions | |
TypeLocBuilder () | |
~TypeLocBuilder () | |
void | reserve (size_t Requested) |
Ensures that this buffer has at least as much capacity as described. More... | |
void | pushFullCopy (TypeLoc L) |
Pushes a copy of the given TypeLoc onto this builder. More... | |
TypeSpecTypeLoc | pushTypeSpec (QualType T) |
Pushes space for a typespec TypeLoc. More... | |
void | clear () |
Resets this builder to the newly-initialized state. More... | |
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. More... | |
template<class TyLocType > | |
TyLocType | push (QualType T) |
Pushes space for a new TypeLoc of the given type. More... | |
TypeSourceInfo * | getTypeSourceInfo (ASTContext &Context, QualType T) |
Creates a TypeSourceInfo for the given type. More... | |
TypeLoc | getTypeLocInContext (ASTContext &Context, QualType T) |
Copies the type-location information to the given AST context and returns a TypeLoc referring into the AST context. More... | |
Definition at line 22 of file TypeLocBuilder.h.
|
inline |
Definition at line 46 of file TypeLocBuilder.h.
|
inline |
Definition at line 52 of file TypeLocBuilder.h.
|
inline |
Resets this builder to the newly-initialized state.
Definition at line 77 of file TypeLocBuilder.h.
|
inline |
Copies the type-location information to the given AST context and returns a TypeLoc
referring into the AST context.
Definition at line 116 of file TypeLocBuilder.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype().
|
inline |
Creates a TypeSourceInfo for the given type.
Definition at line 103 of file TypeLocBuilder.h.
Referenced by clang::Sema::CheckPackExpansion(), clang::TreeTransform< Derived >::RebuildQualifiedType(), clang::Sema::SubstFunctionDeclType(), clang::Sema::SubstType(), clang::TreeTransform< Derived >::TransformDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::TreeTransform< Derived >::TransformType(), and clang::TreeTransform< Derived >::TransformTypeWithDeducedTST().
|
inline |
Pushes space for a new TypeLoc of the given type.
Invalidates any TypeLocs previously retrieved from this builder.
Definition at line 95 of file TypeLocBuilder.h.
References clang::TypeLoc::castAs().
Referenced by clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::CheckPackExpansion(), clang::deduceOpenCLPointeeAddrSpace(), clang::Sema::DeduceTemplateArguments(), clang::TreeTransform< Derived >::TransformDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::TreeTransform< Derived >::TransformFunctionProtoType(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::TreeTransform< Derived >::TransformReferenceType(), clang::TreeTransform< Derived >::TransformTemplateSpecializationType(), and clang::TransformTypeSpecType().
void TypeLocBuilder::pushFullCopy | ( | TypeLoc | L | ) |
Pushes a copy of the given TypeLoc onto this builder.
The builder must be empty for this to work.
Definition at line 18 of file TypeLocBuilder.cpp.
References clang::TypeLoc::getFullDataSize(), clang::TypeLoc::getFullDataSizeForType(), clang::TypeLoc::getNextTypeLoc(), clang::TypeLoc::getType(), clang::TypeLoc::getTypeLocClass(), i, memcpy(), and reserve().
Referenced by clang::Sema::CheckPackExpansion(), reserve(), clang::Sema::SubstType(), and clang::TreeTransform< Derived >::TransformDependentTemplateSpecializationType().
|
inline |
Pushes space for a typespec TypeLoc.
Invalidates any TypeLocs previously retrieved from this builder.
Definition at line 70 of file TypeLocBuilder.h.
References clang::TypeLoc::castAs(), clang::TypeSpecTypeLoc::LocalDataAlignment, and clang::TypeSpecTypeLoc::LocalDataSize.
Referenced by clang::TreeTransform< Derived >::TransformExceptionSpec().
|
inline |
Ensures that this buffer has at least as much capacity as described.
Definition at line 58 of file TypeLocBuilder.h.
References pushFullCopy().
Referenced by clang::Sema::DeduceTemplateArguments(), pushFullCopy(), clang::Sema::SubstFunctionDeclType(), clang::Sema::SubstType(), clang::TreeTransform< Derived >::TransformDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::TreeTransform< Derived >::TransformType(), and clang::TreeTransform< Derived >::TransformTypeWithDeducedTST().
|
inline |
Tell the TypeLocBuilder that the type it is storing has been modified in some safe way that doesn't affect type-location information.
Definition at line 87 of file TypeLocBuilder.h.
Referenced by clang::deduceOpenCLPointeeAddrSpace(), clang::TreeTransform< Derived >::TransformReferenceType(), and clang::TreeTransform< Derived >::TransformTypeWithDeducedTST().