clang 17.0.0git
|
A semantic tree transformation that allows one to transform one abstract syntax tree into another. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Sema/TreeTransform.h"
Classes | |
class | TemporaryBase |
RAII object that temporarily sets the base location and entity used for reporting diagnostics in types. More... | |
Public Types | |
enum | StmtDiscardKind { SDK_Discarded , SDK_NotDiscarded , SDK_StmtExprResult } |
The reason why the value of a statement is not discarded, if any. More... | |
Public Member Functions | |
TreeTransform (Sema &SemaRef) | |
Initializes a new tree transformer. | |
Derived & | getDerived () |
Retrieves a reference to the derived class. | |
const Derived & | getDerived () const |
Retrieves a reference to the derived class. | |
Sema & | getSema () const |
Retrieves a reference to the semantic analysis object used for this tree transform. | |
bool | AlwaysRebuild () |
Whether the transformation should always rebuild AST nodes, even if none of the children have changed. | |
bool | ReplacingOriginal () |
Whether the transformation is forming an expression or statement that replaces the original. | |
bool | AllowSkippingCXXConstructExpr () |
Wether CXXConstructExpr can be skipped when they are implicit. | |
SourceLocation | getBaseLocation () |
Returns the location of the entity being transformed, if that information was not available elsewhere in the AST. | |
DeclarationName | getBaseEntity () |
Returns the name of the entity being transformed, if that information was not available elsewhere in the AST. | |
void | setBase (SourceLocation Loc, DeclarationName Entity) |
Sets the "base" location and entity when that information is known based on another transformation. | |
bool | AlreadyTransformed (QualType T) |
Determine whether the given type T has already been transformed. | |
unsigned | TransformTemplateDepth (unsigned Depth) |
Transform a template parameter depth level. | |
bool | DropCallArgument (Expr *E) |
Determine whether the given call argument should be dropped, e.g., because it is a default argument. | |
bool | TryExpandParameterPacks (SourceLocation EllipsisLoc, SourceRange PatternRange, ArrayRef< UnexpandedParameterPack > Unexpanded, bool &ShouldExpand, bool &RetainExpansion, std::optional< unsigned > &NumExpansions) |
Determine whether we should expand a pack expansion with the given set of parameter packs into separate arguments by repeatedly transforming the pattern. | |
TemplateArgument | ForgetPartiallySubstitutedPack () |
"Forget" about the partially-substituted pack template argument, when performing an instantiation that must preserve the parameter pack use. | |
void | RememberPartiallySubstitutedPack (TemplateArgument Arg) |
"Remember" the partially-substituted pack template argument after performing an instantiation that must preserve the parameter pack use. | |
void | ExpandingFunctionParameterPack (ParmVarDecl *Pack) |
Note to the derived class when a function parameter pack is being expanded. | |
QualType | TransformType (QualType T) |
Transforms the given type into another type. | |
TypeSourceInfo * | TransformType (TypeSourceInfo *DI) |
Transforms the given type-with-location into a new type-with-location. | |
QualType | TransformType (TypeLocBuilder &TLB, TypeLoc TL) |
Transform the given type-with-location into a new type, collecting location information in the given builder as necessary. | |
StmtResult | TransformStmt (Stmt *S, StmtDiscardKind SDK=SDK_Discarded) |
Transform the given statement. | |
OMPClause * | TransformOMPClause (OMPClause *S) |
Transform the given statement. | |
const Attr * | TransformAttr (const Attr *S) |
Transform the given attribute. | |
const Attr * | TransformStmtAttr (const Stmt *OrigS, const Stmt *InstS, const Attr *A) |
ExprResult | TransformExpr (Expr *E) |
Transform the given expression. | |
ExprResult | TransformInitializer (Expr *Init, bool NotCopyInit) |
Transform the given initializer. | |
bool | TransformExprs (Expr *const *Inputs, unsigned NumInputs, bool IsCall, SmallVectorImpl< Expr * > &Outputs, bool *ArgChanged=nullptr) |
Transform the given list of expressions. | |
Decl * | TransformDecl (SourceLocation Loc, Decl *D) |
Transform the given declaration, which is referenced from a type or expression. | |
Sema::ConditionResult | TransformCondition (SourceLocation Loc, VarDecl *Var, Expr *Expr, Sema::ConditionKind Kind) |
Transform the specified condition. | |
void | transformAttrs (Decl *Old, Decl *New) |
Transform the attributes associated with the given declaration and place them on the new declaration. | |
void | transformedLocalDecl (Decl *Old, ArrayRef< Decl * > New) |
Note that a local declaration has been transformed by this transformer. | |
Decl * | TransformDefinition (SourceLocation Loc, Decl *D) |
Transform the definition of the given declaration. | |
NamedDecl * | TransformFirstQualifierInScope (NamedDecl *D, SourceLocation Loc) |
Transform the given declaration, which was the first part of a nested-name-specifier in a member access expression. | |
bool | TransformOverloadExprDecls (OverloadExpr *Old, bool RequiresADL, LookupResult &R) |
Transform the set of declarations in an OverloadExpr. | |
NestedNameSpecifierLoc | TransformNestedNameSpecifierLoc (NestedNameSpecifierLoc NNS, QualType ObjectType=QualType(), NamedDecl *FirstQualifierInScope=nullptr) |
Transform the given nested-name-specifier with source-location information. | |
DeclarationNameInfo | TransformDeclarationNameInfo (const DeclarationNameInfo &NameInfo) |
Transform the given declaration name. | |
bool | TransformRequiresExprRequirements (ArrayRef< concepts::Requirement * > Reqs, llvm::SmallVectorImpl< concepts::Requirement * > &Transformed) |
concepts::TypeRequirement * | TransformTypeRequirement (concepts::TypeRequirement *Req) |
concepts::ExprRequirement * | TransformExprRequirement (concepts::ExprRequirement *Req) |
concepts::NestedRequirement * | TransformNestedRequirement (concepts::NestedRequirement *Req) |
TemplateName | TransformTemplateName (CXXScopeSpec &SS, TemplateName Name, SourceLocation NameLoc, QualType ObjectType=QualType(), NamedDecl *FirstQualifierInScope=nullptr, bool AllowInjectedClassName=false) |
Transform the given template name. | |
bool | TransformTemplateArgument (const TemplateArgumentLoc &Input, TemplateArgumentLoc &Output, bool Uneval=false) |
Transform the given template argument. | |
bool | TransformTemplateArguments (const TemplateArgumentLoc *Inputs, unsigned NumInputs, TemplateArgumentListInfo &Outputs, bool Uneval=false) |
Transform the given set of template arguments. | |
template<typename InputIterator > | |
bool | TransformTemplateArguments (InputIterator First, InputIterator Last, TemplateArgumentListInfo &Outputs, bool Uneval=false) |
Transform the given set of template arguments. | |
void | InventTemplateArgumentLoc (const TemplateArgument &Arg, TemplateArgumentLoc &ArgLoc) |
Fakes up a TemplateArgumentLoc for a given TemplateArgument. | |
TypeSourceInfo * | InventTypeSourceInfo (QualType T) |
Fakes up a TypeSourceInfo for a type. | |
QualType | TransformTemplateTypeParmType (TypeLocBuilder &TLB, TemplateTypeParmTypeLoc TL, bool SuppressObjCLifetime) |
QualType | TransformSubstTemplateTypeParmPackType (TypeLocBuilder &TLB, SubstTemplateTypeParmPackTypeLoc TL, bool SuppressObjCLifetime) |
template<typename Fn > | |
QualType | TransformFunctionProtoType (TypeLocBuilder &TLB, FunctionProtoTypeLoc TL, CXXRecordDecl *ThisContext, Qualifiers ThisTypeQuals, Fn TransformExceptionSpec) |
bool | TransformExceptionSpec (SourceLocation Loc, FunctionProtoType::ExceptionSpecInfo &ESI, SmallVectorImpl< QualType > &Exceptions, bool &Changed) |
StmtResult | TransformSEHHandler (Stmt *Handler) |
QualType | TransformTemplateSpecializationType (TypeLocBuilder &TLB, TemplateSpecializationTypeLoc TL, TemplateName Template) |
QualType | TransformDependentTemplateSpecializationType (TypeLocBuilder &TLB, DependentTemplateSpecializationTypeLoc TL, TemplateName Template, CXXScopeSpec &SS) |
QualType | TransformDependentTemplateSpecializationType (TypeLocBuilder &TLB, DependentTemplateSpecializationTypeLoc TL, NestedNameSpecifierLoc QualifierLoc) |
bool | TransformFunctionTypeParams (SourceLocation Loc, ArrayRef< ParmVarDecl * > Params, const QualType *ParamTypes, const FunctionProtoType::ExtParameterInfo *ParamInfos, SmallVectorImpl< QualType > &PTypes, SmallVectorImpl< ParmVarDecl * > *PVars, Sema::ExtParameterInfoBuilder &PInfos, unsigned *LastParamTransformed) |
Transforms the parameters of a function type into the given vectors. | |
bool | TransformFunctionTypeParams (SourceLocation Loc, ArrayRef< ParmVarDecl * > Params, const QualType *ParamTypes, const FunctionProtoType::ExtParameterInfo *ParamInfos, SmallVectorImpl< QualType > &PTypes, SmallVectorImpl< ParmVarDecl * > *PVars, Sema::ExtParameterInfoBuilder &PInfos) |
ExprResult | TransformRequiresTypeParams (SourceLocation KWLoc, SourceLocation RBraceLoc, const RequiresExpr *RE, RequiresExprBodyDecl *Body, ArrayRef< ParmVarDecl * > Params, SmallVectorImpl< QualType > &PTypes, SmallVectorImpl< ParmVarDecl * > &TransParams, Sema::ExtParameterInfoBuilder &PInfos) |
Transforms the parameters of a requires expresison into the given vectors. | |
ParmVarDecl * | TransformFunctionTypeParam (ParmVarDecl *OldParm, int indexAdjustment, std::optional< unsigned > NumExpansions, bool ExpectParameterPack) |
Transforms a single function-type parameter. | |
StmtResult | TransformLambdaBody (LambdaExpr *E, Stmt *Body) |
Transform the body of a lambda-expression. | |
StmtResult | SkipLambdaBody (LambdaExpr *E, Stmt *Body) |
Alternative implementation of TransformLambdaBody that skips transforming the body. | |
QualType | TransformReferenceType (TypeLocBuilder &TLB, ReferenceTypeLoc TL) |
Transforms a reference type. | |
StmtResult | TransformCompoundStmt (CompoundStmt *S, bool IsStmtExpr) |
ExprResult | TransformCXXNamedCastExpr (CXXNamedCastExpr *E) |
TemplateParameterList * | TransformTemplateParameterList (TemplateParameterList *TPL) |
ExprResult | TransformAddressOfOperand (Expr *E) |
The operand of a unary address-of operator has special rules: it's allowed to refer to a non-static member of a class even if there's no 'this' object available. | |
ExprResult | TransformDependentScopeDeclRefExpr (DependentScopeDeclRefExpr *E, bool IsAddressOfOperand, TypeSourceInfo **RecoveryTSI) |
ExprResult | TransformParenDependentScopeDeclRefExpr (ParenExpr *PE, DependentScopeDeclRefExpr *DRE, bool IsAddressOfOperand, TypeSourceInfo **RecoveryTSI) |
StmtResult | TransformOMPExecutableDirective (OMPExecutableDirective *S) |
QualType | RebuildQualifiedType (QualType T, QualifiedTypeLoc TL) |
Build a new qualified type given its unqualified type and type location. | |
QualType | RebuildPointerType (QualType PointeeType, SourceLocation Sigil) |
Build a new pointer type given its pointee type. | |
QualType | RebuildBlockPointerType (QualType PointeeType, SourceLocation Sigil) |
Build a new block pointer type given its pointee type. | |
QualType | RebuildReferenceType (QualType ReferentType, bool LValue, SourceLocation Sigil) |
Build a new reference type given the type it references. | |
QualType | RebuildMemberPointerType (QualType PointeeType, QualType ClassType, SourceLocation Sigil) |
Build a new member pointer type given the pointee type and the class type it refers into. | |
QualType | RebuildObjCTypeParamType (const ObjCTypeParamDecl *Decl, SourceLocation ProtocolLAngleLoc, ArrayRef< ObjCProtocolDecl * > Protocols, ArrayRef< SourceLocation > ProtocolLocs, SourceLocation ProtocolRAngleLoc) |
QualType | RebuildObjCObjectType (QualType BaseType, SourceLocation Loc, SourceLocation TypeArgsLAngleLoc, ArrayRef< TypeSourceInfo * > TypeArgs, SourceLocation TypeArgsRAngleLoc, SourceLocation ProtocolLAngleLoc, ArrayRef< ObjCProtocolDecl * > Protocols, ArrayRef< SourceLocation > ProtocolLocs, SourceLocation ProtocolRAngleLoc) |
Build an Objective-C object type. | |
QualType | RebuildObjCObjectPointerType (QualType PointeeType, SourceLocation Star) |
Build a new Objective-C object pointer type given the pointee type. | |
QualType | RebuildArrayType (QualType ElementType, ArrayType::ArraySizeModifier SizeMod, const llvm::APInt *Size, Expr *SizeExpr, unsigned IndexTypeQuals, SourceRange BracketsRange) |
Build a new array type given the element type, size modifier, size of the array (if known), size expression, and index type qualifiers. | |
QualType | RebuildConstantArrayType (QualType ElementType, ArrayType::ArraySizeModifier SizeMod, const llvm::APInt &Size, Expr *SizeExpr, unsigned IndexTypeQuals, SourceRange BracketsRange) |
Build a new constant array type given the element type, size modifier, (known) size of the array, and index type qualifiers. | |
QualType | RebuildIncompleteArrayType (QualType ElementType, ArrayType::ArraySizeModifier SizeMod, unsigned IndexTypeQuals, SourceRange BracketsRange) |
Build a new incomplete array type given the element type, size modifier, and index type qualifiers. | |
QualType | RebuildVariableArrayType (QualType ElementType, ArrayType::ArraySizeModifier SizeMod, Expr *SizeExpr, unsigned IndexTypeQuals, SourceRange BracketsRange) |
Build a new variable-length array type given the element type, size modifier, size expression, and index type qualifiers. | |
QualType | RebuildDependentSizedArrayType (QualType ElementType, ArrayType::ArraySizeModifier SizeMod, Expr *SizeExpr, unsigned IndexTypeQuals, SourceRange BracketsRange) |
Build a new dependent-sized array type given the element type, size modifier, size expression, and index type qualifiers. | |
QualType | RebuildVectorType (QualType ElementType, unsigned NumElements, VectorType::VectorKind VecKind) |
Build a new vector type given the element type and number of elements. | |
QualType | RebuildDependentVectorType (QualType ElementType, Expr *SizeExpr, SourceLocation AttributeLoc, VectorType::VectorKind) |
Build a new potentially dependently-sized extended vector type given the element type and number of elements. | |
QualType | RebuildExtVectorType (QualType ElementType, unsigned NumElements, SourceLocation AttributeLoc) |
Build a new extended vector type given the element type and number of elements. | |
QualType | RebuildDependentSizedExtVectorType (QualType ElementType, Expr *SizeExpr, SourceLocation AttributeLoc) |
Build a new potentially dependently-sized extended vector type given the element type and number of elements. | |
QualType | RebuildConstantMatrixType (QualType ElementType, unsigned NumRows, unsigned NumColumns) |
Build a new matrix type given the element type and dimensions. | |
QualType | RebuildDependentSizedMatrixType (QualType ElementType, Expr *RowExpr, Expr *ColumnExpr, SourceLocation AttributeLoc) |
Build a new matrix type given the type and dependently-defined dimensions. | |
QualType | RebuildDependentAddressSpaceType (QualType PointeeType, Expr *AddrSpaceExpr, SourceLocation AttributeLoc) |
Build a new DependentAddressSpaceType or return the pointee type variable with the correct address space (retrieved from AddrSpaceExpr) applied to it. | |
QualType | RebuildFunctionProtoType (QualType T, MutableArrayRef< QualType > ParamTypes, const FunctionProtoType::ExtProtoInfo &EPI) |
Build a new function type. | |
QualType | RebuildFunctionNoProtoType (QualType ResultType) |
Build a new unprototyped function type. | |
QualType | RebuildUnresolvedUsingType (SourceLocation NameLoc, Decl *D) |
Rebuild an unresolved typename type, given the decl that the UnresolvedUsingTypenameDecl was transformed to. | |
QualType | RebuildUsingType (UsingShadowDecl *Found, QualType Underlying) |
Build a new type found via an alias. | |
QualType | RebuildTypedefType (TypedefNameDecl *Typedef) |
Build a new typedef type. | |
QualType | RebuildMacroQualifiedType (QualType T, const IdentifierInfo *MacroII) |
Build a new MacroDefined type. | |
QualType | RebuildRecordType (RecordDecl *Record) |
Build a new class/struct/union type. | |
QualType | RebuildEnumType (EnumDecl *Enum) |
Build a new Enum type. | |
QualType | RebuildTypeOfExprType (Expr *Underlying, SourceLocation Loc, TypeOfKind Kind) |
Build a new typeof(expr) type. | |
QualType | RebuildTypeOfType (QualType Underlying, TypeOfKind Kind) |
Build a new typeof(type) type. | |
QualType | RebuildUnaryTransformType (QualType BaseType, UnaryTransformType::UTTKind UKind, SourceLocation Loc) |
Build a new unary transform type. | |
QualType | RebuildDecltypeType (Expr *Underlying, SourceLocation Loc) |
Build a new C++11 decltype type. | |
QualType | RebuildAutoType (QualType Deduced, AutoTypeKeyword Keyword, ConceptDecl *TypeConstraintConcept, ArrayRef< TemplateArgument > TypeConstraintArgs) |
Build a new C++11 auto type. | |
QualType | RebuildDeducedTemplateSpecializationType (TemplateName Template, QualType Deduced) |
By default, builds a new DeducedTemplateSpecializationType with the given deduced type. | |
QualType | RebuildTemplateSpecializationType (TemplateName Template, SourceLocation TemplateLoc, TemplateArgumentListInfo &Args) |
Build a new template specialization type. | |
QualType | RebuildParenType (QualType InnerType) |
Build a new parenthesized type. | |
QualType | RebuildElaboratedType (SourceLocation KeywordLoc, ElaboratedTypeKeyword Keyword, NestedNameSpecifierLoc QualifierLoc, QualType Named) |
Build a new qualified name type. | |
QualType | RebuildDependentTemplateSpecializationType (ElaboratedTypeKeyword Keyword, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, const IdentifierInfo *Name, SourceLocation NameLoc, TemplateArgumentListInfo &Args, bool AllowInjectedClassName) |
Build a new typename type that refers to a template-id. | |
QualType | RebuildDependentNameType (ElaboratedTypeKeyword Keyword, SourceLocation KeywordLoc, NestedNameSpecifierLoc QualifierLoc, const IdentifierInfo *Id, SourceLocation IdLoc, bool DeducedTSTContext) |
Build a new typename type that refers to an identifier. | |
QualType | RebuildPackExpansionType (QualType Pattern, SourceRange PatternRange, SourceLocation EllipsisLoc, std::optional< unsigned > NumExpansions) |
Build a new pack expansion type. | |
QualType | RebuildAtomicType (QualType ValueType, SourceLocation KWLoc) |
Build a new atomic type given its value type. | |
QualType | RebuildPipeType (QualType ValueType, SourceLocation KWLoc, bool isReadPipe) |
Build a new pipe type given its value type. | |
QualType | RebuildBitIntType (bool IsUnsigned, unsigned NumBits, SourceLocation Loc) |
Build a bit-precise int given its value type. | |
QualType | RebuildDependentBitIntType (bool IsUnsigned, Expr *NumBitsExpr, SourceLocation Loc) |
Build a dependent bit-precise int given its value type. | |
TemplateName | RebuildTemplateName (CXXScopeSpec &SS, bool TemplateKW, TemplateDecl *Template) |
Build a new template name given a nested name specifier, a flag indicating whether the "template" keyword was provided, and the template that the template name refers to. | |
TemplateName | RebuildTemplateName (CXXScopeSpec &SS, SourceLocation TemplateKWLoc, const IdentifierInfo &Name, SourceLocation NameLoc, QualType ObjectType, NamedDecl *FirstQualifierInScope, bool AllowInjectedClassName) |
Build a new template name given a nested name specifier and the name that is referred to as a template. | |
TemplateName | RebuildTemplateName (CXXScopeSpec &SS, SourceLocation TemplateKWLoc, OverloadedOperatorKind Operator, SourceLocation NameLoc, QualType ObjectType, bool AllowInjectedClassName) |
Build a new template name given a nested name specifier and the overloaded operator name that is referred to as a template. | |
TemplateName | RebuildTemplateName (const TemplateArgument &ArgPack, Decl *AssociatedDecl, unsigned Index, bool Final) |
Build a new template name given a template template parameter pack and the. | |
StmtResult | RebuildCompoundStmt (SourceLocation LBraceLoc, MultiStmtArg Statements, SourceLocation RBraceLoc, bool IsStmtExpr) |
Build a new compound statement. | |
StmtResult | RebuildCaseStmt (SourceLocation CaseLoc, Expr *LHS, SourceLocation EllipsisLoc, Expr *RHS, SourceLocation ColonLoc) |
Build a new case statement. | |
StmtResult | RebuildCaseStmtBody (Stmt *S, Stmt *Body) |
Attach the body to a new case statement. | |
StmtResult | RebuildDefaultStmt (SourceLocation DefaultLoc, SourceLocation ColonLoc, Stmt *SubStmt) |
Build a new default statement. | |
StmtResult | RebuildLabelStmt (SourceLocation IdentLoc, LabelDecl *L, SourceLocation ColonLoc, Stmt *SubStmt) |
Build a new label statement. | |
StmtResult | RebuildAttributedStmt (SourceLocation AttrLoc, ArrayRef< const Attr * > Attrs, Stmt *SubStmt) |
Build a new attributed statement. | |
StmtResult | RebuildIfStmt (SourceLocation IfLoc, IfStatementKind Kind, SourceLocation LParenLoc, Sema::ConditionResult Cond, SourceLocation RParenLoc, Stmt *Init, Stmt *Then, SourceLocation ElseLoc, Stmt *Else) |
Build a new "if" statement. | |
StmtResult | RebuildSwitchStmtStart (SourceLocation SwitchLoc, SourceLocation LParenLoc, Stmt *Init, Sema::ConditionResult Cond, SourceLocation RParenLoc) |
Start building a new switch statement. | |
StmtResult | RebuildSwitchStmtBody (SourceLocation SwitchLoc, Stmt *Switch, Stmt *Body) |
Attach the body to the switch statement. | |
StmtResult | RebuildWhileStmt (SourceLocation WhileLoc, SourceLocation LParenLoc, Sema::ConditionResult Cond, SourceLocation RParenLoc, Stmt *Body) |
Build a new while statement. | |
StmtResult | RebuildDoStmt (SourceLocation DoLoc, Stmt *Body, SourceLocation WhileLoc, SourceLocation LParenLoc, Expr *Cond, SourceLocation RParenLoc) |
Build a new do-while statement. | |
StmtResult | RebuildForStmt (SourceLocation ForLoc, SourceLocation LParenLoc, Stmt *Init, Sema::ConditionResult Cond, Sema::FullExprArg Inc, SourceLocation RParenLoc, Stmt *Body) |
Build a new for statement. | |
StmtResult | RebuildGotoStmt (SourceLocation GotoLoc, SourceLocation LabelLoc, LabelDecl *Label) |
Build a new goto statement. | |
StmtResult | RebuildIndirectGotoStmt (SourceLocation GotoLoc, SourceLocation StarLoc, Expr *Target) |
Build a new indirect goto statement. | |
StmtResult | RebuildReturnStmt (SourceLocation ReturnLoc, Expr *Result) |
Build a new return statement. | |
StmtResult | RebuildDeclStmt (MutableArrayRef< Decl * > Decls, SourceLocation StartLoc, SourceLocation EndLoc) |
Build a new declaration statement. | |
StmtResult | RebuildGCCAsmStmt (SourceLocation AsmLoc, bool IsSimple, bool IsVolatile, unsigned NumOutputs, unsigned NumInputs, IdentifierInfo **Names, MultiExprArg Constraints, MultiExprArg Exprs, Expr *AsmString, MultiExprArg Clobbers, unsigned NumLabels, SourceLocation RParenLoc) |
Build a new inline asm statement. | |
StmtResult | RebuildMSAsmStmt (SourceLocation AsmLoc, SourceLocation LBraceLoc, ArrayRef< Token > AsmToks, StringRef AsmString, unsigned NumOutputs, unsigned NumInputs, ArrayRef< StringRef > Constraints, ArrayRef< StringRef > Clobbers, ArrayRef< Expr * > Exprs, SourceLocation EndLoc) |
Build a new MS style inline asm statement. | |
StmtResult | RebuildCoreturnStmt (SourceLocation CoreturnLoc, Expr *Result, bool IsImplicit) |
Build a new co_return statement. | |
ExprResult | RebuildCoawaitExpr (SourceLocation CoawaitLoc, Expr *Operand, UnresolvedLookupExpr *OpCoawaitLookup, bool IsImplicit) |
Build a new co_await expression. | |
ExprResult | RebuildDependentCoawaitExpr (SourceLocation CoawaitLoc, Expr *Result, UnresolvedLookupExpr *Lookup) |
Build a new co_await expression. | |
ExprResult | RebuildCoyieldExpr (SourceLocation CoyieldLoc, Expr *Result) |
Build a new co_yield expression. | |
StmtResult | RebuildCoroutineBodyStmt (CoroutineBodyStmt::CtorArgs Args) |
StmtResult | RebuildObjCAtTryStmt (SourceLocation AtLoc, Stmt *TryBody, MultiStmtArg CatchStmts, Stmt *Finally) |
Build a new Objective-C @try statement. | |
VarDecl * | RebuildObjCExceptionDecl (VarDecl *ExceptionDecl, TypeSourceInfo *TInfo, QualType T) |
Rebuild an Objective-C exception declaration. | |
StmtResult | RebuildObjCAtCatchStmt (SourceLocation AtLoc, SourceLocation RParenLoc, VarDecl *Var, Stmt *Body) |
Build a new Objective-C @catch statement. | |
StmtResult | RebuildObjCAtFinallyStmt (SourceLocation AtLoc, Stmt *Body) |
Build a new Objective-C @finally statement. | |
StmtResult | RebuildObjCAtThrowStmt (SourceLocation AtLoc, Expr *Operand) |
Build a new Objective-C @throw statement. | |
StmtResult | RebuildOMPCanonicalLoop (Stmt *LoopStmt) |
Build a new OpenMP Canonical loop. | |
StmtResult | RebuildOMPExecutableDirective (OpenMPDirectiveKind Kind, DeclarationNameInfo DirName, OpenMPDirectiveKind CancelRegion, ArrayRef< OMPClause * > Clauses, Stmt *AStmt, SourceLocation StartLoc, SourceLocation EndLoc) |
Build a new OpenMP executable directive. | |
OMPClause * | RebuildOMPIfClause (OpenMPDirectiveKind NameModifier, Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation NameModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
Build a new OpenMP 'if' clause. | |
OMPClause * | RebuildOMPFinalClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'final' clause. | |
OMPClause * | RebuildOMPNumThreadsClause (Expr *NumThreads, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'num_threads' clause. | |
OMPClause * | RebuildOMPSafelenClause (Expr *Len, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'safelen' clause. | |
OMPClause * | RebuildOMPSimdlenClause (Expr *Len, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'simdlen' clause. | |
OMPClause * | RebuildOMPSizesClause (ArrayRef< Expr * > Sizes, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
OMPClause * | RebuildOMPFullClause (SourceLocation StartLoc, SourceLocation EndLoc) |
Build a new OpenMP 'full' clause. | |
OMPClause * | RebuildOMPPartialClause (Expr *Factor, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'partial' clause. | |
OMPClause * | RebuildOMPAllocatorClause (Expr *A, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'allocator' clause. | |
OMPClause * | RebuildOMPCollapseClause (Expr *Num, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'collapse' clause. | |
OMPClause * | RebuildOMPDefaultClause (DefaultKind Kind, SourceLocation KindKwLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'default' clause. | |
OMPClause * | RebuildOMPProcBindClause (ProcBindKind Kind, SourceLocation KindKwLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'proc_bind' clause. | |
OMPClause * | RebuildOMPScheduleClause (OpenMPScheduleClauseModifier M1, OpenMPScheduleClauseModifier M2, OpenMPScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation M1Loc, SourceLocation M2Loc, SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) |
Build a new OpenMP 'schedule' clause. | |
OMPClause * | RebuildOMPOrderedClause (SourceLocation StartLoc, SourceLocation EndLoc, SourceLocation LParenLoc, Expr *Num) |
Build a new OpenMP 'ordered' clause. | |
OMPClause * | RebuildOMPPrivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'private' clause. | |
OMPClause * | RebuildOMPFirstprivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'firstprivate' clause. | |
OMPClause * | RebuildOMPLastprivateClause (ArrayRef< Expr * > VarList, OpenMPLastprivateModifier LPKind, SourceLocation LPKindLoc, SourceLocation ColonLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'lastprivate' clause. | |
OMPClause * | RebuildOMPSharedClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'shared' clause. | |
OMPClause * | RebuildOMPReductionClause (ArrayRef< Expr * > VarList, OpenMPReductionClauseModifier Modifier, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions) |
Build a new OpenMP 'reduction' clause. | |
OMPClause * | RebuildOMPTaskReductionClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions) |
Build a new OpenMP 'task_reduction' clause. | |
OMPClause * | RebuildOMPInReductionClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, CXXScopeSpec &ReductionIdScopeSpec, const DeclarationNameInfo &ReductionId, ArrayRef< Expr * > UnresolvedReductions) |
Build a new OpenMP 'in_reduction' clause. | |
OMPClause * | RebuildOMPLinearClause (ArrayRef< Expr * > VarList, Expr *Step, SourceLocation StartLoc, SourceLocation LParenLoc, OpenMPLinearClauseKind Modifier, SourceLocation ModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
Build a new OpenMP 'linear' clause. | |
OMPClause * | RebuildOMPAlignedClause (ArrayRef< Expr * > VarList, Expr *Alignment, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
Build a new OpenMP 'aligned' clause. | |
OMPClause * | RebuildOMPCopyinClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'copyin' clause. | |
OMPClause * | RebuildOMPCopyprivateClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'copyprivate' clause. | |
OMPClause * | RebuildOMPFlushClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'flush' pseudo clause. | |
OMPClause * | RebuildOMPDepobjClause (Expr *Depobj, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'depobj' pseudo clause. | |
OMPClause * | RebuildOMPDependClause (OMPDependClause::DependDataTy Data, Expr *DepModifier, ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'depend' pseudo clause. | |
OMPClause * | RebuildOMPDeviceClause (OpenMPDeviceClauseModifier Modifier, Expr *Device, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
Build a new OpenMP 'device' clause. | |
OMPClause * | RebuildOMPMapClause (Expr *IteratorModifier, ArrayRef< OpenMPMapModifierKind > MapTypeModifiers, ArrayRef< SourceLocation > MapTypeModifiersLoc, CXXScopeSpec MapperIdScopeSpec, DeclarationNameInfo MapperId, OpenMPMapClauseKind MapType, bool IsMapTypeImplicit, SourceLocation MapLoc, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, ArrayRef< Expr * > UnresolvedMappers) |
Build a new OpenMP 'map' clause. | |
OMPClause * | RebuildOMPAllocateClause (Expr *Allocate, ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc) |
Build a new OpenMP 'allocate' clause. | |
OMPClause * | RebuildOMPNumTeamsClause (Expr *NumTeams, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'num_teams' clause. | |
OMPClause * | RebuildOMPThreadLimitClause (Expr *ThreadLimit, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'thread_limit' clause. | |
OMPClause * | RebuildOMPPriorityClause (Expr *Priority, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'priority' clause. | |
OMPClause * | RebuildOMPGrainsizeClause (OpenMPGrainsizeClauseModifier Modifier, Expr *Device, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
Build a new OpenMP 'grainsize' clause. | |
OMPClause * | RebuildOMPNumTasksClause (OpenMPNumTasksClauseModifier Modifier, Expr *NumTasks, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ModifierLoc, SourceLocation EndLoc) |
Build a new OpenMP 'num_tasks' clause. | |
OMPClause * | RebuildOMPHintClause (Expr *Hint, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'hint' clause. | |
OMPClause * | RebuildOMPDetachClause (Expr *Evt, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'detach' clause. | |
OMPClause * | RebuildOMPDistScheduleClause (OpenMPDistScheduleClauseKind Kind, Expr *ChunkSize, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation KindLoc, SourceLocation CommaLoc, SourceLocation EndLoc) |
Build a new OpenMP 'dist_schedule' clause. | |
OMPClause * | RebuildOMPToClause (ArrayRef< OpenMPMotionModifierKind > MotionModifiers, ArrayRef< SourceLocation > MotionModifiersLoc, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperId, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, ArrayRef< Expr * > UnresolvedMappers) |
Build a new OpenMP 'to' clause. | |
OMPClause * | RebuildOMPFromClause (ArrayRef< OpenMPMotionModifierKind > MotionModifiers, ArrayRef< SourceLocation > MotionModifiersLoc, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperId, SourceLocation ColonLoc, ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs, ArrayRef< Expr * > UnresolvedMappers) |
Build a new OpenMP 'from' clause. | |
OMPClause * | RebuildOMPUseDevicePtrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
Build a new OpenMP 'use_device_ptr' clause. | |
OMPClause * | RebuildOMPUseDeviceAddrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
Build a new OpenMP 'use_device_addr' clause. | |
OMPClause * | RebuildOMPIsDevicePtrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
Build a new OpenMP 'is_device_ptr' clause. | |
OMPClause * | RebuildOMPHasDeviceAddrClause (ArrayRef< Expr * > VarList, const OMPVarListLocTy &Locs) |
Build a new OpenMP 'has_device_addr' clause. | |
OMPClause * | RebuildOMPDefaultmapClause (OpenMPDefaultmapClauseModifier M, OpenMPDefaultmapClauseKind Kind, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation MLoc, SourceLocation KindLoc, SourceLocation EndLoc) |
Build a new OpenMP 'defaultmap' clause. | |
OMPClause * | RebuildOMPNontemporalClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'nontemporal' clause. | |
OMPClause * | RebuildOMPInclusiveClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'inclusive' clause. | |
OMPClause * | RebuildOMPExclusiveClause (ArrayRef< Expr * > VarList, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'exclusive' clause. | |
OMPClause * | RebuildOMPUsesAllocatorsClause (ArrayRef< Sema::UsesAllocatorsData > Data, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'uses_allocators' clause. | |
OMPClause * | RebuildOMPAffinityClause (SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, Expr *Modifier, ArrayRef< Expr * > Locators) |
Build a new OpenMP 'affinity' clause. | |
OMPClause * | RebuildOMPOrderClause (OpenMPOrderClauseKind Kind, SourceLocation KindKwLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc, OpenMPOrderClauseModifier Modifier, SourceLocation ModifierKwLoc) |
Build a new OpenMP 'order' clause. | |
OMPClause * | RebuildOMPInitClause (Expr *InteropVar, OMPInteropInfo &InteropInfo, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
Build a new OpenMP 'init' clause. | |
OMPClause * | RebuildOMPUseClause (Expr *InteropVar, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
Build a new OpenMP 'use' clause. | |
OMPClause * | RebuildOMPDestroyClause (Expr *InteropVar, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation VarLoc, SourceLocation EndLoc) |
Build a new OpenMP 'destroy' clause. | |
OMPClause * | RebuildOMPNovariantsClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'novariants' clause. | |
OMPClause * | RebuildOMPNocontextClause (Expr *Condition, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'nocontext' clause. | |
OMPClause * | RebuildOMPFilterClause (Expr *ThreadID, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'filter' clause. | |
OMPClause * | RebuildOMPBindClause (OpenMPBindClauseKind Kind, SourceLocation KindLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'bind' clause. | |
OMPClause * | RebuildOMPXDynCGroupMemClause (Expr *Size, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'ompx_dyn_cgroup_mem' clause. | |
OMPClause * | RebuildOMPAlignClause (Expr *A, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'align' clause. | |
OMPClause * | RebuildOMPAtClause (OpenMPAtClauseKind Kind, SourceLocation KwLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'at' clause. | |
OMPClause * | RebuildOMPSeverityClause (OpenMPSeverityClauseKind Kind, SourceLocation KwLoc, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'severity' clause. | |
OMPClause * | RebuildOMPMessageClause (Expr *MS, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation EndLoc) |
Build a new OpenMP 'message' clause. | |
ExprResult | RebuildObjCAtSynchronizedOperand (SourceLocation atLoc, Expr *object) |
Rebuild the operand to an Objective-C @synchronized statement. | |
StmtResult | RebuildObjCAtSynchronizedStmt (SourceLocation AtLoc, Expr *Object, Stmt *Body) |
Build a new Objective-C @synchronized statement. | |
StmtResult | RebuildObjCAutoreleasePoolStmt (SourceLocation AtLoc, Stmt *Body) |
Build a new Objective-C @autoreleasepool statement. | |
StmtResult | RebuildObjCForCollectionStmt (SourceLocation ForLoc, Stmt *Element, Expr *Collection, SourceLocation RParenLoc, Stmt *Body) |
Build a new Objective-C fast enumeration statement. | |
VarDecl * | RebuildExceptionDecl (VarDecl *ExceptionDecl, TypeSourceInfo *Declarator, SourceLocation StartLoc, SourceLocation IdLoc, IdentifierInfo *Id) |
Build a new C++ exception declaration. | |
StmtResult | RebuildCXXCatchStmt (SourceLocation CatchLoc, VarDecl *ExceptionDecl, Stmt *Handler) |
Build a new C++ catch statement. | |
StmtResult | RebuildCXXTryStmt (SourceLocation TryLoc, Stmt *TryBlock, ArrayRef< Stmt * > Handlers) |
Build a new C++ try statement. | |
StmtResult | RebuildCXXForRangeStmt (SourceLocation ForLoc, SourceLocation CoawaitLoc, Stmt *Init, SourceLocation ColonLoc, Stmt *Range, Stmt *Begin, Stmt *End, Expr *Cond, Expr *Inc, Stmt *LoopVar, SourceLocation RParenLoc) |
Build a new C++0x range-based for statement. | |
StmtResult | RebuildMSDependentExistsStmt (SourceLocation KeywordLoc, bool IsIfExists, NestedNameSpecifierLoc QualifierLoc, DeclarationNameInfo NameInfo, Stmt *Nested) |
Build a new C++0x range-based for statement. | |
StmtResult | FinishCXXForRangeStmt (Stmt *ForRange, Stmt *Body) |
Attach body to a C++0x range-based for statement. | |
StmtResult | RebuildSEHTryStmt (bool IsCXXTry, SourceLocation TryLoc, Stmt *TryBlock, Stmt *Handler) |
StmtResult | RebuildSEHExceptStmt (SourceLocation Loc, Expr *FilterExpr, Stmt *Block) |
StmtResult | RebuildSEHFinallyStmt (SourceLocation Loc, Stmt *Block) |
ExprResult | RebuildSYCLUniqueStableNameExpr (SourceLocation OpLoc, SourceLocation LParen, SourceLocation RParen, TypeSourceInfo *TSI) |
ExprResult | RebuildPredefinedExpr (SourceLocation Loc, PredefinedExpr::IdentKind IK) |
Build a new predefined expression. | |
ExprResult | RebuildDeclarationNameExpr (const CXXScopeSpec &SS, LookupResult &R, bool RequiresADL) |
Build a new expression that references a declaration. | |
ExprResult | RebuildDeclRefExpr (NestedNameSpecifierLoc QualifierLoc, ValueDecl *VD, const DeclarationNameInfo &NameInfo, NamedDecl *Found, TemplateArgumentListInfo *TemplateArgs) |
Build a new expression that references a declaration. | |
ExprResult | RebuildParenExpr (Expr *SubExpr, SourceLocation LParen, SourceLocation RParen) |
Build a new expression in parentheses. | |
ExprResult | RebuildCXXPseudoDestructorExpr (Expr *Base, SourceLocation OperatorLoc, bool isArrow, CXXScopeSpec &SS, TypeSourceInfo *ScopeType, SourceLocation CCLoc, SourceLocation TildeLoc, PseudoDestructorTypeStorage Destroyed) |
Build a new pseudo-destructor expression. | |
ExprResult | RebuildUnaryOperator (SourceLocation OpLoc, UnaryOperatorKind Opc, Expr *SubExpr) |
Build a new unary operator expression. | |
ExprResult | RebuildOffsetOfExpr (SourceLocation OperatorLoc, TypeSourceInfo *Type, ArrayRef< Sema::OffsetOfComponent > Components, SourceLocation RParenLoc) |
Build a new builtin offsetof expression. | |
ExprResult | RebuildUnaryExprOrTypeTrait (TypeSourceInfo *TInfo, SourceLocation OpLoc, UnaryExprOrTypeTrait ExprKind, SourceRange R) |
Build a new sizeof, alignof or vec_step expression with a type argument. | |
ExprResult | RebuildUnaryExprOrTypeTrait (Expr *SubExpr, SourceLocation OpLoc, UnaryExprOrTypeTrait ExprKind, SourceRange R) |
Build a new sizeof, alignof or vec step expression with an expression argument. | |
ExprResult | RebuildArraySubscriptExpr (Expr *LHS, SourceLocation LBracketLoc, Expr *RHS, SourceLocation RBracketLoc) |
Build a new array subscript expression. | |
ExprResult | RebuildMatrixSubscriptExpr (Expr *Base, Expr *RowIdx, Expr *ColumnIdx, SourceLocation RBracketLoc) |
Build a new matrix subscript expression. | |
ExprResult | RebuildOMPArraySectionExpr (Expr *Base, SourceLocation LBracketLoc, Expr *LowerBound, SourceLocation ColonLocFirst, SourceLocation ColonLocSecond, Expr *Length, Expr *Stride, SourceLocation RBracketLoc) |
Build a new array section expression. | |
ExprResult | RebuildOMPArrayShapingExpr (Expr *Base, SourceLocation LParenLoc, SourceLocation RParenLoc, ArrayRef< Expr * > Dims, ArrayRef< SourceRange > BracketsRanges) |
Build a new array shaping expression. | |
ExprResult | RebuildOMPIteratorExpr (SourceLocation IteratorKwLoc, SourceLocation LLoc, SourceLocation RLoc, ArrayRef< Sema::OMPIteratorData > Data) |
Build a new iterator expression. | |
ExprResult | RebuildCallExpr (Expr *Callee, SourceLocation LParenLoc, MultiExprArg Args, SourceLocation RParenLoc, Expr *ExecConfig=nullptr) |
Build a new call expression. | |
ExprResult | RebuildCxxSubscriptExpr (Expr *Callee, SourceLocation LParenLoc, MultiExprArg Args, SourceLocation RParenLoc) |
ExprResult | RebuildMemberExpr (Expr *Base, SourceLocation OpLoc, bool isArrow, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, const DeclarationNameInfo &MemberNameInfo, ValueDecl *Member, NamedDecl *FoundDecl, const TemplateArgumentListInfo *ExplicitTemplateArgs, NamedDecl *FirstQualifierInScope) |
Build a new member access expression. | |
ExprResult | RebuildBinaryOperator (SourceLocation OpLoc, BinaryOperatorKind Opc, Expr *LHS, Expr *RHS) |
Build a new binary operator expression. | |
ExprResult | RebuildCXXRewrittenBinaryOperator (SourceLocation OpLoc, BinaryOperatorKind Opcode, const UnresolvedSetImpl &UnqualLookups, Expr *LHS, Expr *RHS) |
Build a new rewritten operator expression. | |
ExprResult | RebuildConditionalOperator (Expr *Cond, SourceLocation QuestionLoc, Expr *LHS, SourceLocation ColonLoc, Expr *RHS) |
Build a new conditional operator expression. | |
ExprResult | RebuildCStyleCastExpr (SourceLocation LParenLoc, TypeSourceInfo *TInfo, SourceLocation RParenLoc, Expr *SubExpr) |
Build a new C-style cast expression. | |
ExprResult | RebuildCompoundLiteralExpr (SourceLocation LParenLoc, TypeSourceInfo *TInfo, SourceLocation RParenLoc, Expr *Init) |
Build a new compound literal expression. | |
ExprResult | RebuildExtVectorElementExpr (Expr *Base, SourceLocation OpLoc, bool IsArrow, SourceLocation AccessorLoc, IdentifierInfo &Accessor) |
Build a new extended vector element access expression. | |
ExprResult | RebuildInitList (SourceLocation LBraceLoc, MultiExprArg Inits, SourceLocation RBraceLoc) |
Build a new initializer list expression. | |
ExprResult | RebuildDesignatedInitExpr (Designation &Desig, MultiExprArg ArrayExprs, SourceLocation EqualOrColonLoc, bool GNUSyntax, Expr *Init) |
Build a new designated initializer expression. | |
ExprResult | RebuildImplicitValueInitExpr (QualType T) |
Build a new value-initialized expression. | |
ExprResult | RebuildVAArgExpr (SourceLocation BuiltinLoc, Expr *SubExpr, TypeSourceInfo *TInfo, SourceLocation RParenLoc) |
Build a new va_arg expression. | |
ExprResult | RebuildParenListExpr (SourceLocation LParenLoc, MultiExprArg SubExprs, SourceLocation RParenLoc) |
Build a new expression list in parentheses. | |
ExprResult | RebuildAddrLabelExpr (SourceLocation AmpAmpLoc, SourceLocation LabelLoc, LabelDecl *Label) |
Build a new address-of-label expression. | |
ExprResult | RebuildStmtExpr (SourceLocation LParenLoc, Stmt *SubStmt, SourceLocation RParenLoc, unsigned TemplateDepth) |
Build a new GNU statement expression. | |
ExprResult | RebuildChooseExpr (SourceLocation BuiltinLoc, Expr *Cond, Expr *LHS, Expr *RHS, SourceLocation RParenLoc) |
Build a new __builtin_choose_expr expression. | |
ExprResult | RebuildGenericSelectionExpr (SourceLocation KeyLoc, SourceLocation DefaultLoc, SourceLocation RParenLoc, Expr *ControllingExpr, ArrayRef< TypeSourceInfo * > Types, ArrayRef< Expr * > Exprs) |
Build a new generic selection expression. | |
ExprResult | RebuildCXXOperatorCallExpr (OverloadedOperatorKind Op, SourceLocation OpLoc, Expr *Callee, Expr *First, Expr *Second) |
Build a new overloaded operator call expression. | |
ExprResult | RebuildCXXNamedCastExpr (SourceLocation OpLoc, Stmt::StmtClass Class, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
Build a new C++ "named" cast expression, such as static_cast or reinterpret_cast. | |
ExprResult | RebuildCXXStaticCastExpr (SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
Build a new C++ static_cast expression. | |
ExprResult | RebuildCXXDynamicCastExpr (SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
Build a new C++ dynamic_cast expression. | |
ExprResult | RebuildCXXReinterpretCastExpr (SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
Build a new C++ reinterpret_cast expression. | |
ExprResult | RebuildCXXConstCastExpr (SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
Build a new C++ const_cast expression. | |
ExprResult | RebuildCXXAddrspaceCastExpr (SourceLocation OpLoc, SourceLocation LAngleLoc, TypeSourceInfo *TInfo, SourceLocation RAngleLoc, SourceLocation LParenLoc, Expr *SubExpr, SourceLocation RParenLoc) |
ExprResult | RebuildCXXFunctionalCastExpr (TypeSourceInfo *TInfo, SourceLocation LParenLoc, Expr *Sub, SourceLocation RParenLoc, bool ListInitialization) |
Build a new C++ functional-style cast expression. | |
ExprResult | RebuildBuiltinBitCastExpr (SourceLocation KWLoc, TypeSourceInfo *TSI, Expr *Sub, SourceLocation RParenLoc) |
Build a new C++ __builtin_bit_cast expression. | |
ExprResult | RebuildCXXTypeidExpr (QualType TypeInfoType, SourceLocation TypeidLoc, TypeSourceInfo *Operand, SourceLocation RParenLoc) |
Build a new C++ typeid(type) expression. | |
ExprResult | RebuildCXXTypeidExpr (QualType TypeInfoType, SourceLocation TypeidLoc, Expr *Operand, SourceLocation RParenLoc) |
Build a new C++ typeid(expr) expression. | |
ExprResult | RebuildCXXUuidofExpr (QualType Type, SourceLocation TypeidLoc, TypeSourceInfo *Operand, SourceLocation RParenLoc) |
Build a new C++ __uuidof(type) expression. | |
ExprResult | RebuildCXXUuidofExpr (QualType Type, SourceLocation TypeidLoc, Expr *Operand, SourceLocation RParenLoc) |
Build a new C++ __uuidof(expr) expression. | |
ExprResult | RebuildCXXThisExpr (SourceLocation ThisLoc, QualType ThisType, bool isImplicit) |
Build a new C++ "this" expression. | |
ExprResult | RebuildCXXThrowExpr (SourceLocation ThrowLoc, Expr *Sub, bool IsThrownVariableInScope) |
Build a new C++ throw expression. | |
ExprResult | RebuildCXXDefaultArgExpr (SourceLocation Loc, ParmVarDecl *Param, Expr *RewrittenExpr) |
Build a new C++ default-argument expression. | |
ExprResult | RebuildCXXDefaultInitExpr (SourceLocation Loc, FieldDecl *Field) |
Build a new C++11 default-initialization expression. | |
ExprResult | RebuildCXXScalarValueInitExpr (TypeSourceInfo *TSInfo, SourceLocation LParenLoc, SourceLocation RParenLoc) |
Build a new C++ zero-initialization expression. | |
ExprResult | RebuildCXXNewExpr (SourceLocation StartLoc, bool UseGlobal, SourceLocation PlacementLParen, MultiExprArg PlacementArgs, SourceLocation PlacementRParen, SourceRange TypeIdParens, QualType AllocatedType, TypeSourceInfo *AllocatedTypeInfo, std::optional< Expr * > ArraySize, SourceRange DirectInitRange, Expr *Initializer) |
Build a new C++ "new" expression. | |
ExprResult | RebuildCXXDeleteExpr (SourceLocation StartLoc, bool IsGlobalDelete, bool IsArrayForm, Expr *Operand) |
Build a new C++ "delete" expression. | |
ExprResult | RebuildTypeTrait (TypeTrait Trait, SourceLocation StartLoc, ArrayRef< TypeSourceInfo * > Args, SourceLocation RParenLoc) |
Build a new type trait expression. | |
ExprResult | RebuildArrayTypeTrait (ArrayTypeTrait Trait, SourceLocation StartLoc, TypeSourceInfo *TSInfo, Expr *DimExpr, SourceLocation RParenLoc) |
Build a new array type trait expression. | |
ExprResult | RebuildExpressionTrait (ExpressionTrait Trait, SourceLocation StartLoc, Expr *Queried, SourceLocation RParenLoc) |
Build a new expression trait expression. | |
ExprResult | RebuildDependentScopeDeclRefExpr (NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, const DeclarationNameInfo &NameInfo, const TemplateArgumentListInfo *TemplateArgs, bool IsAddressOfOperand, TypeSourceInfo **RecoveryTSI) |
Build a new (previously unresolved) declaration reference expression. | |
ExprResult | RebuildTemplateIdExpr (const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, LookupResult &R, bool RequiresADL, const TemplateArgumentListInfo *TemplateArgs) |
Build a new template-id expression. | |
ExprResult | RebuildCXXConstructExpr (QualType T, SourceLocation Loc, CXXConstructorDecl *Constructor, bool IsElidable, MultiExprArg Args, bool HadMultipleCandidates, bool ListInitialization, bool StdInitListInitialization, bool RequiresZeroInit, CXXConstructExpr::ConstructionKind ConstructKind, SourceRange ParenRange) |
Build a new object-construction expression. | |
ExprResult | RebuildCXXInheritedCtorInitExpr (QualType T, SourceLocation Loc, CXXConstructorDecl *Constructor, bool ConstructsVBase, bool InheritedFromVBase) |
Build a new implicit construction via inherited constructor expression. | |
ExprResult | RebuildCXXTemporaryObjectExpr (TypeSourceInfo *TSInfo, SourceLocation LParenOrBraceLoc, MultiExprArg Args, SourceLocation RParenOrBraceLoc, bool ListInitialization) |
Build a new object-construction expression. | |
ExprResult | RebuildCXXUnresolvedConstructExpr (TypeSourceInfo *TSInfo, SourceLocation LParenLoc, MultiExprArg Args, SourceLocation RParenLoc, bool ListInitialization) |
Build a new object-construction expression. | |
ExprResult | RebuildCXXDependentScopeMemberExpr (Expr *BaseE, QualType BaseType, bool IsArrow, SourceLocation OperatorLoc, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, NamedDecl *FirstQualifierInScope, const DeclarationNameInfo &MemberNameInfo, const TemplateArgumentListInfo *TemplateArgs) |
Build a new member reference expression. | |
ExprResult | RebuildUnresolvedMemberExpr (Expr *BaseE, QualType BaseType, SourceLocation OperatorLoc, bool IsArrow, NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc, NamedDecl *FirstQualifierInScope, LookupResult &R, const TemplateArgumentListInfo *TemplateArgs) |
Build a new member reference expression. | |
ExprResult | RebuildCXXNoexceptExpr (SourceRange Range, Expr *Arg) |
Build a new noexcept expression. | |
ExprResult | RebuildSizeOfPackExpr (SourceLocation OperatorLoc, NamedDecl *Pack, SourceLocation PackLoc, SourceLocation RParenLoc, std::optional< unsigned > Length, ArrayRef< TemplateArgument > PartialArgs) |
Build a new expression to compute the length of a parameter pack. | |
ExprResult | RebuildSourceLocExpr (SourceLocExpr::IdentKind Kind, QualType ResultTy, SourceLocation BuiltinLoc, SourceLocation RPLoc, DeclContext *ParentContext) |
Build a new expression representing a call to a source location builtin. | |
ExprResult | RebuildConceptSpecializationExpr (NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, TemplateArgumentListInfo *TALI) |
Build a new Objective-C boxed expression. | |
ExprResult | RebuildRequiresExpr (SourceLocation RequiresKWLoc, RequiresExprBodyDecl *Body, ArrayRef< ParmVarDecl * > LocalParameters, ArrayRef< concepts::Requirement * > Requirements, SourceLocation ClosingBraceLoc) |
Build a new requires expression. | |
concepts::TypeRequirement * | RebuildTypeRequirement (concepts::Requirement::SubstitutionDiagnostic *SubstDiag) |
concepts::TypeRequirement * | RebuildTypeRequirement (TypeSourceInfo *T) |
concepts::ExprRequirement * | RebuildExprRequirement (concepts::Requirement::SubstitutionDiagnostic *SubstDiag, bool IsSimple, SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement Ret) |
concepts::ExprRequirement * | RebuildExprRequirement (Expr *E, bool IsSimple, SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement Ret) |
concepts::NestedRequirement * | RebuildNestedRequirement (StringRef InvalidConstraintEntity, const ASTConstraintSatisfaction &Satisfaction) |
concepts::NestedRequirement * | RebuildNestedRequirement (Expr *Constraint) |
ExprResult | RebuildObjCBoxedExpr (SourceRange SR, Expr *ValueExpr) |
Build a new Objective-C boxed expression. | |
ExprResult | RebuildObjCArrayLiteral (SourceRange Range, Expr **Elements, unsigned NumElements) |
Build a new Objective-C array literal. | |
ExprResult | RebuildObjCSubscriptRefExpr (SourceLocation RB, Expr *Base, Expr *Key, ObjCMethodDecl *getterMethod, ObjCMethodDecl *setterMethod) |
ExprResult | RebuildObjCDictionaryLiteral (SourceRange Range, MutableArrayRef< ObjCDictionaryElement > Elements) |
Build a new Objective-C dictionary literal. | |
ExprResult | RebuildObjCEncodeExpr (SourceLocation AtLoc, TypeSourceInfo *EncodeTypeInfo, SourceLocation RParenLoc) |
Build a new Objective-C @encode expression. | |
ExprResult | RebuildObjCMessageExpr (TypeSourceInfo *ReceiverTypeInfo, Selector Sel, ArrayRef< SourceLocation > SelectorLocs, ObjCMethodDecl *Method, SourceLocation LBracLoc, MultiExprArg Args, SourceLocation RBracLoc) |
Build a new Objective-C class message. | |
ExprResult | RebuildObjCMessageExpr (Expr *Receiver, Selector Sel, ArrayRef< SourceLocation > SelectorLocs, ObjCMethodDecl *Method, SourceLocation LBracLoc, MultiExprArg Args, SourceLocation RBracLoc) |
Build a new Objective-C instance message. | |
ExprResult | RebuildObjCMessageExpr (SourceLocation SuperLoc, Selector Sel, ArrayRef< SourceLocation > SelectorLocs, QualType SuperType, ObjCMethodDecl *Method, SourceLocation LBracLoc, MultiExprArg Args, SourceLocation RBracLoc) |
Build a new Objective-C instance/class message to 'super'. | |
ExprResult | RebuildObjCIvarRefExpr (Expr *BaseArg, ObjCIvarDecl *Ivar, SourceLocation IvarLoc, bool IsArrow, bool IsFreeIvar) |
Build a new Objective-C ivar reference expression. | |
ExprResult | RebuildObjCPropertyRefExpr (Expr *BaseArg, ObjCPropertyDecl *Property, SourceLocation PropertyLoc) |
Build a new Objective-C property reference expression. | |
ExprResult | RebuildObjCPropertyRefExpr (Expr *Base, QualType T, ObjCMethodDecl *Getter, ObjCMethodDecl *Setter, SourceLocation PropertyLoc) |
Build a new Objective-C property reference expression. | |
ExprResult | RebuildObjCIsaExpr (Expr *BaseArg, SourceLocation IsaLoc, SourceLocation OpLoc, bool IsArrow) |
Build a new Objective-C "isa" expression. | |
ExprResult | RebuildShuffleVectorExpr (SourceLocation BuiltinLoc, MultiExprArg SubExprs, SourceLocation RParenLoc) |
Build a new shuffle vector expression. | |
ExprResult | RebuildConvertVectorExpr (SourceLocation BuiltinLoc, Expr *SrcExpr, TypeSourceInfo *DstTInfo, SourceLocation RParenLoc) |
Build a new convert vector expression. | |
TemplateArgumentLoc | RebuildPackExpansion (TemplateArgumentLoc Pattern, SourceLocation EllipsisLoc, std::optional< unsigned > NumExpansions) |
Build a new template argument pack expansion. | |
ExprResult | RebuildPackExpansion (Expr *Pattern, SourceLocation EllipsisLoc, std::optional< unsigned > NumExpansions) |
Build a new expression pack expansion. | |
ExprResult | RebuildCXXFoldExpr (UnresolvedLookupExpr *ULE, SourceLocation LParenLoc, Expr *LHS, BinaryOperatorKind Operator, SourceLocation EllipsisLoc, Expr *RHS, SourceLocation RParenLoc, std::optional< unsigned > NumExpansions) |
Build a new C++1z fold-expression. | |
ExprResult | RebuildEmptyCXXFoldExpr (SourceLocation EllipsisLoc, BinaryOperatorKind Operator) |
Build an empty C++1z fold-expression with the given operator. | |
ExprResult | RebuildCXXParenListInitExpr (ArrayRef< Expr * > Args, QualType T, unsigned NumUserSpecifiedExprs, SourceLocation InitLoc, SourceLocation LParenLoc, SourceLocation RParenLoc) |
ExprResult | RebuildAtomicExpr (SourceLocation BuiltinLoc, MultiExprArg SubExprs, AtomicExpr::AtomicOp Op, SourceLocation RParenLoc) |
Build a new atomic operation expression. | |
ExprResult | RebuildRecoveryExpr (SourceLocation BeginLoc, SourceLocation EndLoc, ArrayRef< Expr * > SubExprs, QualType Type) |
template<typename Derived > | |
QualType | TransformFunctionProtoType (TypeLocBuilder &TLB, FunctionProtoTypeLoc TL) |
QualType | TransformTypeWithDeducedTST (QualType T) |
Transform a type that is permitted to produce a DeducedTemplateSpecializationType. | |
TypeSourceInfo * | TransformTypeWithDeducedTST (TypeSourceInfo *DI) |
Static Public Member Functions | |
static ExprResult | Owned (Expr *E) |
static StmtResult | Owned (Stmt *S) |
Protected Attributes | |
Sema & | SemaRef |
llvm::DenseMap< Decl *, Decl * > | TransformedLocalDecls |
The set of local declarations that have been transformed, for cases where we are forced to build new declarations within the transformer rather than in the subclass (e.g., lambda closure types). | |
A semantic tree transformation that allows one to transform one abstract syntax tree into another.
A new tree transformation is defined by creating a new subclass X
of TreeTransform<X>
and then overriding certain operations to provide behavior specific to that transformation. For example, template instantiation is implemented as a tree transformation where the transformation of TemplateTypeParmType nodes involves substituting the template arguments for their corresponding template parameters; a similar transformation is performed for non-type template parameters and template template parameters.
This tree-transformation template uses static polymorphism to allow subclasses to customize any of its operations. Thus, a subclass can override any of the transformation or rebuild operators by providing an operation with the same signature as the default implementation. The overriding function should not be virtual.
Semantic tree transformations are split into two stages, either of which can be replaced by a subclass. The "transform" step transforms an AST node or the parts of an AST node using the various transformation functions, then passes the pieces on to the "rebuild" step, which constructs a new AST node of the appropriate kind from the pieces. The default transformation routines recursively transform the operands to composite AST nodes (e.g., the pointee type of a PointerType node) and, if any of those operand nodes were changed by the transformation, invokes the rebuild operation to create a new AST node.
Subclasses can customize the transformation at various levels. The most coarse-grained transformations involve replacing TransformType(), TransformExpr(), TransformDecl(), TransformNestedNameSpecifierLoc(), TransformTemplateName(), or TransformTemplateArgument() with entirely new implementations.
For more fine-grained transformations, subclasses can replace any of the TransformXXX
functions (where XXX is the name of an AST node, e.g., PointerType, StmtExpr) to alter the transformation. As mentioned previously, replacing TransformTemplateTypeParmType() allows template instantiation to substitute template arguments for their corresponding template parameters. Additionally, subclasses can override the RebuildXXX
functions to control how AST nodes are rebuilt when their operands change. By default, TreeTransform
will invoke semantic analysis to rebuild AST nodes. However, certain other tree transformations (e.g, cloning) may be able to use more efficient rebuild steps.
There are a handful of other functions that can be overridden, allowing one to avoid traversing nodes that don't need any transformation (AlreadyTransformed()
), force rebuilding AST nodes even when their operands have not changed (AlwaysRebuild()
), and customize the default locations and entity names used for type-checking (getBaseLocation()
, getBaseEntity()
).
Definition at line 102 of file TreeTransform.h.
enum clang::TreeTransform::StmtDiscardKind |
The reason why the value of a statement is not discarded, if any.
Enumerator | |
---|---|
SDK_Discarded | |
SDK_NotDiscarded | |
SDK_StmtExprResult |
Definition at line 348 of file TreeTransform.h.
|
inline |
Initializes a new tree transformer.
Definition at line 130 of file TreeTransform.h.
|
inline |
Wether CXXConstructExpr can be skipped when they are implicit.
They will be reconstructed when used if needed. This is useful when the user that cause rebuilding of the CXXConstructExpr is outside of the expression at which the TreeTransform started.
Definition at line 168 of file TreeTransform.h.
|
inline |
Determine whether the given type T
has already been transformed.
Subclasses can provide an alternative implementation of this routine to short-circuit evaluation when it is known that a given type will not change. For example, template instantiation need not traverse non-dependent types.
Definition at line 221 of file TreeTransform.h.
References clang::QualType::isNull().
|
inline |
Whether the transformation should always rebuild AST nodes, even if none of the children have changed.
Subclasses may override this function to specify when the transformation should rebuild all AST nodes.
We must always rebuild all AST nodes when performing variadic template pack expansion, in order to avoid violating the AST invariant that each statement node appears at most once in its containing declaration.
Definition at line 156 of file TreeTransform.h.
References clang::Sema::ArgumentPackSubstitutionIndex, and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Determine whether the given call argument should be dropped, e.g., because it is a default argument.
Subclasses can provide an alternative implementation of this routine to determine which kinds of call arguments get dropped. By default, CXXDefaultArgument nodes are dropped (prior to transformation).
Definition at line 239 of file TreeTransform.h.
References clang::Expr::isDefaultArgument().
|
inline |
Note to the derived class when a function parameter pack is being expanded.
Definition at line 307 of file TreeTransform.h.
|
inline |
Attach body to a C++0x range-based for statement.
By default, performs semantic analysis to finish the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2563 of file TreeTransform.h.
References clang::Sema::FinishCXXForRangeStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
"Forget" about the partially-substituted pack template argument, when performing an instantiation that must preserve the parameter pack use.
This routine is meant to be overridden by the template instantiator.
Definition at line 294 of file TreeTransform.h.
|
inline |
Returns the name of the entity being transformed, if that information was not available elsewhere in the AST.
By default, returns an empty name. Subclasses can provide an alternative implementation with a more precise name.
Definition at line 183 of file TreeTransform.h.
|
inline |
Returns the location of the entity being transformed, if that information was not available elsewhere in the AST.
By default, returns no source-location information. Subclasses can provide an alternative implementation that provides better location information.
Definition at line 176 of file TreeTransform.h.
Referenced by clang::TreeTransform< Derived >::InventTypeSourceInfo().
|
inline |
Retrieves a reference to the derived class.
Definition at line 133 of file TreeTransform.h.
Referenced by clang::TreeTransform< Derived >::InventTypeSourceInfo(), clang::TreeTransform< Derived >::RebuildCXXNamedCastExpr(), clang::TreeTransform< Derived >::RebuildDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::TemporaryBase::TemporaryBase(), clang::TreeTransform< Derived >::TransformDefinition(), clang::TreeTransform< Derived >::TransformFirstQualifierInScope(), clang::TreeTransform< Derived >::TransformFunctionTypeParams(), clang::transformOMPMappableExprListClause(), clang::TreeTransform< Derived >::TransformRequiresTypeParams(), and clang::TreeTransform< Derived >::TemporaryBase::~TemporaryBase().
|
inline |
Retrieves a reference to the derived class.
Definition at line 136 of file TreeTransform.h.
|
inline |
Retrieves a reference to the semantic analysis object used for this tree transform.
Definition at line 145 of file TreeTransform.h.
References clang::TreeTransform< Derived >::SemaRef.
Referenced by clang::TreeTransform< Derived >::FinishCXXForRangeStmt(), clang::TreeTransform< Derived >::RebuildAddrLabelExpr(), clang::TreeTransform< Derived >::RebuildArraySubscriptExpr(), clang::TreeTransform< Derived >::RebuildArrayTypeTrait(), clang::TreeTransform< Derived >::RebuildAtomicExpr(), clang::TreeTransform< Derived >::RebuildBinaryOperator(), clang::TreeTransform< Derived >::RebuildBuiltinBitCastExpr(), clang::TreeTransform< Derived >::RebuildCallExpr(), clang::TreeTransform< Derived >::RebuildCaseStmt(), clang::TreeTransform< Derived >::RebuildCaseStmtBody(), clang::TreeTransform< Derived >::RebuildCoawaitExpr(), clang::TreeTransform< Derived >::RebuildCompoundLiteralExpr(), clang::TreeTransform< Derived >::RebuildCompoundStmt(), clang::TreeTransform< Derived >::RebuildConceptSpecializationExpr(), clang::TreeTransform< Derived >::RebuildConditionalOperator(), clang::TreeTransform< Derived >::RebuildCoreturnStmt(), clang::TreeTransform< Derived >::RebuildCoroutineBodyStmt(), clang::TreeTransform< Derived >::RebuildCoyieldExpr(), clang::TreeTransform< Derived >::RebuildCStyleCastExpr(), clang::TreeTransform< Derived >::RebuildCXXAddrspaceCastExpr(), clang::TreeTransform< Derived >::RebuildCXXCatchStmt(), clang::TreeTransform< Derived >::RebuildCXXConstCastExpr(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXDefaultArgExpr(), clang::TreeTransform< Derived >::RebuildCXXDefaultInitExpr(), clang::TreeTransform< Derived >::RebuildCXXDeleteExpr(), clang::TreeTransform< Derived >::RebuildCXXDynamicCastExpr(), clang::TreeTransform< Derived >::RebuildCXXFoldExpr(), clang::TreeTransform< Derived >::RebuildCXXForRangeStmt(), clang::TreeTransform< Derived >::RebuildCXXFunctionalCastExpr(), clang::TreeTransform< Derived >::RebuildCXXInheritedCtorInitExpr(), clang::TreeTransform< Derived >::RebuildCXXNewExpr(), clang::TreeTransform< Derived >::RebuildCXXParenListInitExpr(), clang::TreeTransform< Derived >::RebuildCXXReinterpretCastExpr(), clang::TreeTransform< Derived >::RebuildCXXRewrittenBinaryOperator(), clang::TreeTransform< Derived >::RebuildCXXScalarValueInitExpr(), clang::TreeTransform< Derived >::RebuildCXXStaticCastExpr(), clang::TreeTransform< Derived >::RebuildCxxSubscriptExpr(), clang::TreeTransform< Derived >::RebuildCXXTemporaryObjectExpr(), clang::TreeTransform< Derived >::RebuildCXXThisExpr(), clang::TreeTransform< Derived >::RebuildCXXThrowExpr(), clang::TreeTransform< Derived >::RebuildCXXTryStmt(), clang::TreeTransform< Derived >::RebuildCXXTypeidExpr(), clang::TreeTransform< Derived >::RebuildCXXUnresolvedConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXUuidofExpr(), clang::TreeTransform< Derived >::RebuildDeclarationNameExpr(), clang::TreeTransform< Derived >::RebuildDeclRefExpr(), clang::TreeTransform< Derived >::RebuildDeclStmt(), clang::TreeTransform< Derived >::RebuildDefaultStmt(), clang::TreeTransform< Derived >::RebuildDependentCoawaitExpr(), clang::TreeTransform< Derived >::RebuildDependentScopeDeclRefExpr(), clang::TreeTransform< Derived >::RebuildDoStmt(), clang::TreeTransform< Derived >::RebuildEmptyCXXFoldExpr(), clang::TreeTransform< Derived >::RebuildExceptionDecl(), clang::TreeTransform< Derived >::RebuildExpressionTrait(), clang::TreeTransform< Derived >::RebuildExtVectorElementExpr(), clang::TreeTransform< Derived >::RebuildForStmt(), clang::TreeTransform< Derived >::RebuildGCCAsmStmt(), clang::TreeTransform< Derived >::RebuildGenericSelectionExpr(), clang::TreeTransform< Derived >::RebuildGotoStmt(), clang::TreeTransform< Derived >::RebuildIfStmt(), clang::TreeTransform< Derived >::RebuildIndirectGotoStmt(), clang::TreeTransform< Derived >::RebuildMatrixSubscriptExpr(), clang::TreeTransform< Derived >::RebuildMemberExpr(), clang::TreeTransform< Derived >::RebuildMSAsmStmt(), clang::TreeTransform< Derived >::RebuildMSDependentExistsStmt(), clang::TreeTransform< Derived >::RebuildObjCArrayLiteral(), clang::TreeTransform< Derived >::RebuildObjCAtCatchStmt(), clang::TreeTransform< Derived >::RebuildObjCAtFinallyStmt(), clang::TreeTransform< Derived >::RebuildObjCAtSynchronizedOperand(), clang::TreeTransform< Derived >::RebuildObjCAtSynchronizedStmt(), clang::TreeTransform< Derived >::RebuildObjCAtThrowStmt(), clang::TreeTransform< Derived >::RebuildObjCAtTryStmt(), clang::TreeTransform< Derived >::RebuildObjCAutoreleasePoolStmt(), clang::TreeTransform< Derived >::RebuildObjCBoxedExpr(), clang::TreeTransform< Derived >::RebuildObjCDictionaryLiteral(), clang::TreeTransform< Derived >::RebuildObjCExceptionDecl(), clang::TreeTransform< Derived >::RebuildObjCForCollectionStmt(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCIvarRefExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildObjCSubscriptRefExpr(), clang::TreeTransform< Derived >::RebuildOffsetOfExpr(), clang::TreeTransform< Derived >::RebuildOMPAffinityClause(), clang::TreeTransform< Derived >::RebuildOMPAlignClause(), clang::TreeTransform< Derived >::RebuildOMPAlignedClause(), clang::TreeTransform< Derived >::RebuildOMPAllocateClause(), clang::TreeTransform< Derived >::RebuildOMPAllocatorClause(), clang::TreeTransform< Derived >::RebuildOMPArraySectionExpr(), clang::TreeTransform< Derived >::RebuildOMPArrayShapingExpr(), clang::TreeTransform< Derived >::RebuildOMPAtClause(), clang::TreeTransform< Derived >::RebuildOMPBindClause(), clang::TreeTransform< Derived >::RebuildOMPCanonicalLoop(), clang::TreeTransform< Derived >::RebuildOMPCollapseClause(), clang::TreeTransform< Derived >::RebuildOMPCopyinClause(), clang::TreeTransform< Derived >::RebuildOMPCopyprivateClause(), clang::TreeTransform< Derived >::RebuildOMPDefaultClause(), clang::TreeTransform< Derived >::RebuildOMPDefaultmapClause(), clang::TreeTransform< Derived >::RebuildOMPDependClause(), clang::TreeTransform< Derived >::RebuildOMPDepobjClause(), clang::TreeTransform< Derived >::RebuildOMPDestroyClause(), clang::TreeTransform< Derived >::RebuildOMPDetachClause(), clang::TreeTransform< Derived >::RebuildOMPDeviceClause(), clang::TreeTransform< Derived >::RebuildOMPDistScheduleClause(), clang::TreeTransform< Derived >::RebuildOMPExclusiveClause(), clang::TreeTransform< Derived >::RebuildOMPExecutableDirective(), clang::TreeTransform< Derived >::RebuildOMPFilterClause(), clang::TreeTransform< Derived >::RebuildOMPFinalClause(), clang::TreeTransform< Derived >::RebuildOMPFirstprivateClause(), clang::TreeTransform< Derived >::RebuildOMPFlushClause(), clang::TreeTransform< Derived >::RebuildOMPFromClause(), clang::TreeTransform< Derived >::RebuildOMPFullClause(), clang::TreeTransform< Derived >::RebuildOMPGrainsizeClause(), clang::TreeTransform< Derived >::RebuildOMPHasDeviceAddrClause(), clang::TreeTransform< Derived >::RebuildOMPHintClause(), clang::TreeTransform< Derived >::RebuildOMPIfClause(), clang::TreeTransform< Derived >::RebuildOMPInclusiveClause(), clang::TreeTransform< Derived >::RebuildOMPInitClause(), clang::TreeTransform< Derived >::RebuildOMPInReductionClause(), clang::TreeTransform< Derived >::RebuildOMPIsDevicePtrClause(), clang::TreeTransform< Derived >::RebuildOMPIteratorExpr(), clang::TreeTransform< Derived >::RebuildOMPLastprivateClause(), clang::TreeTransform< Derived >::RebuildOMPLinearClause(), clang::TreeTransform< Derived >::RebuildOMPMapClause(), clang::TreeTransform< Derived >::RebuildOMPMessageClause(), clang::TreeTransform< Derived >::RebuildOMPNocontextClause(), clang::TreeTransform< Derived >::RebuildOMPNontemporalClause(), clang::TreeTransform< Derived >::RebuildOMPNovariantsClause(), clang::TreeTransform< Derived >::RebuildOMPNumTasksClause(), clang::TreeTransform< Derived >::RebuildOMPNumTeamsClause(), clang::TreeTransform< Derived >::RebuildOMPNumThreadsClause(), clang::TreeTransform< Derived >::RebuildOMPOrderClause(), clang::TreeTransform< Derived >::RebuildOMPOrderedClause(), clang::TreeTransform< Derived >::RebuildOMPPartialClause(), clang::TreeTransform< Derived >::RebuildOMPPriorityClause(), clang::TreeTransform< Derived >::RebuildOMPPrivateClause(), clang::TreeTransform< Derived >::RebuildOMPProcBindClause(), clang::TreeTransform< Derived >::RebuildOMPReductionClause(), clang::TreeTransform< Derived >::RebuildOMPSafelenClause(), clang::TreeTransform< Derived >::RebuildOMPScheduleClause(), clang::TreeTransform< Derived >::RebuildOMPSeverityClause(), clang::TreeTransform< Derived >::RebuildOMPSharedClause(), clang::TreeTransform< Derived >::RebuildOMPSimdlenClause(), clang::TreeTransform< Derived >::RebuildOMPSizesClause(), clang::TreeTransform< Derived >::RebuildOMPTaskReductionClause(), clang::TreeTransform< Derived >::RebuildOMPThreadLimitClause(), clang::TreeTransform< Derived >::RebuildOMPToClause(), clang::TreeTransform< Derived >::RebuildOMPUseClause(), clang::TreeTransform< Derived >::RebuildOMPUseDeviceAddrClause(), clang::TreeTransform< Derived >::RebuildOMPUseDevicePtrClause(), clang::TreeTransform< Derived >::RebuildOMPUsesAllocatorsClause(), clang::TreeTransform< Derived >::RebuildOMPXDynCGroupMemClause(), clang::TreeTransform< Derived >::RebuildPackExpansion(), clang::TreeTransform< Derived >::RebuildPackExpansionType(), clang::TreeTransform< Derived >::RebuildParenExpr(), clang::TreeTransform< Derived >::RebuildParenListExpr(), clang::TreeTransform< Derived >::RebuildPredefinedExpr(), clang::TreeTransform< Derived >::RebuildRecoveryExpr(), clang::TreeTransform< Derived >::RebuildReturnStmt(), clang::TreeTransform< Derived >::RebuildSEHExceptStmt(), clang::TreeTransform< Derived >::RebuildSEHFinallyStmt(), clang::TreeTransform< Derived >::RebuildSEHTryStmt(), clang::TreeTransform< Derived >::RebuildSourceLocExpr(), clang::TreeTransform< Derived >::RebuildStmtExpr(), clang::TreeTransform< Derived >::RebuildSwitchStmtBody(), clang::TreeTransform< Derived >::RebuildSwitchStmtStart(), clang::TreeTransform< Derived >::RebuildSYCLUniqueStableNameExpr(), clang::TreeTransform< Derived >::RebuildTemplateIdExpr(), clang::TreeTransform< Derived >::RebuildTemplateName(), clang::TreeTransform< Derived >::RebuildTypeTrait(), clang::TreeTransform< Derived >::RebuildUnaryExprOrTypeTrait(), clang::TreeTransform< Derived >::RebuildUnaryOperator(), clang::TreeTransform< Derived >::RebuildVAArgExpr(), clang::TreeTransform< Derived >::RebuildWhileStmt(), and clang::transformOMPMappableExprListClause().
void clang::TreeTransform< Derived >::InventTemplateArgumentLoc | ( | const TemplateArgument & | Arg, |
TemplateArgumentLoc & | ArgLoc | ||
) |
Fakes up a TemplateArgumentLoc for a given TemplateArgument.
Definition at line 4513 of file TreeTransform.h.
Referenced by clang::TemplateArgumentLocInventIterator< Derived, InputIterator >::operator*().
|
inline |
Fakes up a TypeSourceInfo for a type.
Definition at line 650 of file TreeTransform.h.
References clang::Sema::Context, clang::TreeTransform< Derived >::getBaseLocation(), clang::TreeTransform< Derived >::getDerived(), clang::ASTContext::getTrivialTypeSourceInfo(), and clang::TreeTransform< Derived >::SemaRef.
|
inlinestatic |
Definition at line 140 of file TreeTransform.h.
Referenced by clang::TreeTransform< Derived >::RebuildCXXCatchStmt(), and clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr().
|
inlinestatic |
Definition at line 141 of file TreeTransform.h.
|
inline |
Build a new address-of-label expression.
By default, performs semantic analysis, using the name of the label rather than attempting to map the label statement itself. Subclasses may override this routine to provide different behavior.
Definition at line 2989 of file TreeTransform.h.
References clang::Sema::ActOnAddrLabel(), clang::TreeTransform< Derived >::getSema(), and Label.
|
inline |
Build a new array subscript expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2699 of file TreeTransform.h.
References clang::Sema::ActOnArraySubscriptExpr(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildArrayType | ( | QualType | ElementType, |
ArrayType::ArraySizeModifier | SizeMod, | ||
const llvm::APInt * | Size, | ||
Expr * | SizeExpr, | ||
unsigned | IndexTypeQuals, | ||
SourceRange | BracketsRange | ||
) |
Build a new array type given the element type, size modifier, size of the array (if known), size expression, and index type qualifiers.
By default, performs semantic analysis when building the array type. Subclasses may override this routine to provide different behavior. Also by default, all of the other Rebuild*Array
Definition at line 14782 of file TreeTransform.h.
References clang::Sema::BuildArrayType(), clang::Sema::Context, clang::IntegerLiteral::Create(), clang::SourceRange::getBegin(), clang::ASTContext::getIntWidth(), clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedInt128Ty, clang::ASTContext::UnsignedIntTy, clang::ASTContext::UnsignedLongLongTy, clang::ASTContext::UnsignedLongTy, and clang::ASTContext::UnsignedShortTy.
|
inline |
Build a new array type trait expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3339 of file TreeTransform.h.
References clang::Sema::BuildArrayTypeTrait(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new atomic operation expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3919 of file TreeTransform.h.
References clang::Sema::AST, clang::Sema::BuildAtomicExpr(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildAtomicType | ( | QualType | ValueType, |
SourceLocation | KWLoc | ||
) |
Build a new atomic type given its value type.
By default, performs semantic analysis when building the atomic type. Subclasses may override this routine to provide different behavior.
Definition at line 15024 of file TreeTransform.h.
References clang::Sema::BuildAtomicType().
|
inline |
Build a new attributed statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1380 of file TreeTransform.h.
References clang::Sema::BuildAttributedStmt(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new C++11 auto type.
By default, builds a new AutoType with the given deduced type.
Definition at line 1053 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getAutoType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new binary operator expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2853 of file TreeTransform.h.
References clang::Sema::BuildBinOp(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildBitIntType | ( | bool | IsUnsigned, |
unsigned | NumBits, | ||
SourceLocation | Loc | ||
) |
Build a bit-precise int given its value type.
Definition at line 15038 of file TreeTransform.h.
References clang::Sema::BuildBitIntType(), clang::Sema::Context, clang::IntegerLiteral::Create(), clang::ASTContext::getIntWidth(), and clang::ASTContext::IntTy.
QualType clang::TreeTransform< Derived >::RebuildBlockPointerType | ( | QualType | PointeeType, |
SourceLocation | Sigil | ||
) |
Build a new block pointer type given its pointee type.
By default, performs semantic analysis when building the block pointer type. Subclasses may override this routine to provide different behavior.
Definition at line 14718 of file TreeTransform.h.
References clang::Sema::BuildBlockPointerType().
|
inline |
Build a new C++ __builtin_bit_cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3185 of file TreeTransform.h.
References clang::Sema::BuildBuiltinBitCastExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new call expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2761 of file TreeTransform.h.
References clang::Sema::ActOnCallExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new case statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1338 of file TreeTransform.h.
References clang::Sema::ActOnCaseStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Attach the body to a new case statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1351 of file TreeTransform.h.
References clang::Sema::ActOnCaseStmtBody(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new __builtin_choose_expr expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3008 of file TreeTransform.h.
References clang::Sema::ActOnChooseExpr(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new co_await expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 1535 of file TreeTransform.h.
References clang::Sema::BuildOperatorCoawaitCall(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildUnresolvedCoawaitExpr(), clang::ExprError(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::TreeTransform< Derived >::getSema(), and clang::ActionResult< PtrTy, CompressInvalid >::isInvalid().
|
inline |
Build a new compound literal expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2899 of file TreeTransform.h.
References clang::Sema::BuildCompoundLiteralExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new compound statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1326 of file TreeTransform.h.
References clang::Sema::ActOnCompoundStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C boxed expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3547 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::Sema::CheckConceptTemplateId(), clang::ExprError(), clang::TreeTransform< Derived >::getSema(), and clang::Result.
|
inline |
Build a new conditional operator expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2874 of file TreeTransform.h.
References clang::Sema::ActOnConditionalOp(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildConstantArrayType | ( | QualType | ElementType, |
ArrayType::ArraySizeModifier | SizeMod, | ||
const llvm::APInt & | Size, | ||
Expr * | SizeExpr, | ||
unsigned | IndexTypeQuals, | ||
SourceRange | BracketsRange | ||
) |
Build a new constant array type given the element type, size modifier, (known) size of the array, and index type qualifiers.
By default, performs semantic analysis when building the array type. Subclasses may override this routine to provide different behavior.
Definition at line 14817 of file TreeTransform.h.
QualType clang::TreeTransform< Derived >::RebuildConstantMatrixType | ( | QualType | ElementType, |
unsigned | NumRows, | ||
unsigned | NumColumns | ||
) |
Build a new matrix type given the element type and dimensions.
Definition at line 14905 of file TreeTransform.h.
References clang::Sema::Context, and clang::ASTContext::getConstantMatrixType().
|
inline |
Build a new convert vector expression.
Definition at line 3816 of file TreeTransform.h.
References clang::Sema::SemaConvertVectorExpr(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new co_return statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1526 of file TreeTransform.h.
References clang::Sema::BuildCoreturnStmt(), clang::TreeTransform< Derived >::getSema(), and clang::Result.
|
inline |
Definition at line 1577 of file TreeTransform.h.
References clang::Sema::BuildCoroutineBodyStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new co_yield expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 1573 of file TreeTransform.h.
References clang::Sema::BuildCoyieldExpr(), clang::TreeTransform< Derived >::getSema(), and clang::Result.
|
inline |
Build a new C-style cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2887 of file TreeTransform.h.
References clang::Sema::BuildCStyleCastExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 3158 of file TreeTransform.h.
References clang::Sema::BuildCXXNamedCast(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ catch statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2490 of file TreeTransform.h.
References clang::TreeTransform< Derived >::getSema(), and clang::TreeTransform< Derived >::Owned().
|
inline |
Build a new C++ const_cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3144 of file TreeTransform.h.
References clang::Sema::BuildCXXNamedCast(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new object-construction expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3398 of file TreeTransform.h.
References clang::Sema::BuildCXXConstructExpr(), clang::ExprError(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ default-argument expression.
By default, builds a new default-argument expression, which does not require any semantic analysis. Subclasses may override this routine to provide different behavior.
Definition at line 3260 of file TreeTransform.h.
References clang::CXXDefaultArgExpr::Create(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++11 default-initialization expression.
By default, builds a new default field initialization expression, which does not require any semantic analysis. Subclasses may override this routine to provide different behavior.
Definition at line 3271 of file TreeTransform.h.
References clang::Sema::BuildCXXDefaultInitExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ "delete" expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3316 of file TreeTransform.h.
References clang::Sema::ActOnCXXDelete(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new member reference expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3470 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::Sema::BuildMemberReferenceExpr(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new C++ dynamic_cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3110 of file TreeTransform.h.
References clang::Sema::BuildCXXNamedCast(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++1z fold-expression.
By default, performs semantic analysis in order to build a new fold expression.
Definition at line 3885 of file TreeTransform.h.
References clang::Sema::BuildCXXFoldExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++0x range-based for statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2510 of file TreeTransform.h.
References clang::Sema::ActOnObjCForCollectionStmt(), Begin, clang::Sema::BFRK_Rebuild, clang::Sema::BuildCXXForRangeStmt(), clang::Sema::Diag(), clang::TreeTransform< Derived >::getSema(), clang::Expr::getType(), clang::Type::isObjCObjectPointerType(), clang::Expr::isTypeDependent(), clang::TreeTransform< Derived >::SemaRef, and clang::StmtError().
|
inline |
Build a new C++ functional-style cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3171 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeConstructExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new implicit construction via inherited constructor expression.
Definition at line 3432 of file TreeTransform.h.
References clang::Sema::Context, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ "named" cast expression, such as static_cast or reinterpret_cast.
By default, this routine dispatches to one of the more-specific routines for a particular named case, e.g., RebuildCXXStaticCastExpr(). Subclasses may override this routine to provide different behavior.
Definition at line 3050 of file TreeTransform.h.
References clang::TreeTransform< Derived >::getDerived().
|
inline |
Build a new C++ "new" expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3292 of file TreeTransform.h.
References clang::Sema::BuildCXXNew(), clang::TreeTransform< Derived >::getSema(), and clang::Initializer.
|
inline |
Build a new noexcept expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3516 of file TreeTransform.h.
References clang::Sema::BuildCXXNoexceptExpr(), and clang::TreeTransform< Derived >::SemaRef.
ExprResult clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr | ( | OverloadedOperatorKind | Op, |
SourceLocation | OpLoc, | ||
Expr * | Callee, | ||
Expr * | First, | ||
Expr * | Second | ||
) |
Build a new overloaded operator call expression.
By default, performs semantic analysis to build the new expression. The semantic analysis provides the behavior of template instantiation, copying with transformations that turn what looks like an overloaded operator call into a use of a builtin operator, performing argument-dependent lookup, etc. Subclasses may override this routine to provide different behavior.
Definition at line 15103 of file TreeTransform.h.
References clang::UnresolvedSetImpl::addDecl(), clang::UnresolvedSetImpl::append(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::ExprError(), clang::First, clang::DeclarationNameLoc::getCXXOperatorNameBeginLoc(), clang::DeclarationNameLoc::getCXXOperatorNameEndLoc(), clang::Expr::getObjectKind(), clang::BinaryOperator::getOverloadedOpcode(), clang::UnaryOperator::getOverloadedOpcode(), clang::Expr::getType(), clang::Expr::IgnoreParenCasts(), clang::BinaryOperator::isAssignmentOp(), clang::Type::isOverloadableType(), clang::OK_ObjCProperty, and clang::Result.
|
inline |
Definition at line 3905 of file TreeTransform.h.
References clang::CXXParenListInitExpr::Create(), and clang::TreeTransform< Derived >::getSema().
ExprResult clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr | ( | Expr * | Base, |
SourceLocation | OperatorLoc, | ||
bool | isArrow, | ||
CXXScopeSpec & | SS, | ||
TypeSourceInfo * | ScopeType, | ||
SourceLocation | CCLoc, | ||
SourceLocation | TildeLoc, | ||
PseudoDestructorTypeStorage | Destroyed | ||
) |
Build a new pseudo-destructor expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 15230 of file TreeTransform.h.
References clang::Sema::BuildPseudoDestructorExpr(), clang::Type::castAs(), clang::Sema::Context, clang::ASTContext::DeclarationNames, clang::ExprError(), clang::CXXScopeSpec::Extend(), clang::Type::getAs(), clang::ASTContext::getCanonicalType(), clang::DeclarationNameTable::getCXXDestructorName(), clang::PseudoDestructorTypeStorage::getIdentifier(), clang::PseudoDestructorTypeStorage::getLocation(), clang::PointerType::getPointeeType(), clang::TypeSourceInfo::getType(), clang::PseudoDestructorTypeStorage::getTypeSourceInfo(), and clang::DeclarationNameInfo::setNamedTypeInfo().
|
inline |
Build a new C++ reinterpret_cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3127 of file TreeTransform.h.
References clang::Sema::BuildCXXNamedCast(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new rewritten operator expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2863 of file TreeTransform.h.
References clang::Sema::CreateOverloadedBinOp(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ zero-initialization expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3280 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeConstructExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ static_cast expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3093 of file TreeTransform.h.
References clang::Sema::BuildCXXNamedCast(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 2769 of file TreeTransform.h.
References clang::Sema::ActOnArraySubscriptExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new object-construction expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3444 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeConstructExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ "this" expression.
By default, builds a new "this" expression without performing any semantic analysis. Subclasses may override this routine to provide different behavior.
Definition at line 3240 of file TreeTransform.h.
References clang::Sema::BuildCXXThisExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ throw expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3250 of file TreeTransform.h.
References clang::Sema::BuildCXXThrow(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ try statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2501 of file TreeTransform.h.
References clang::Sema::ActOnCXXTryBlock(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ typeid(expr) expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3208 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeId(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ typeid(type) expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3195 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeId(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new object-construction expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3457 of file TreeTransform.h.
References clang::Sema::BuildCXXTypeConstructExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ __uuidof(expr) expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3230 of file TreeTransform.h.
References clang::Sema::BuildCXXUuidof(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++ __uuidof(type) expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3220 of file TreeTransform.h.
References clang::Sema::BuildCXXUuidof(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new expression that references a declaration.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2601 of file TreeTransform.h.
References clang::Sema::BuildDeclarationNameExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new expression that references a declaration.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2612 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::Sema::BuildDeclarationNameExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new declaration statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1483 of file TreeTransform.h.
References clang::Sema::ActOnDeclStmt(), clang::Sema::BuildDeclaratorGroup(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildDecltypeType | ( | Expr * | Underlying, |
SourceLocation | Loc | ||
) |
Build a new C++11 decltype type.
By default, performs semantic analysis when building the decltype type. Subclasses may override this routine to provide different behavior.
Definition at line 15004 of file TreeTransform.h.
References clang::Sema::BuildDecltypeType().
|
inline |
By default, builds a new DeducedTemplateSpecializationType with the given deduced type.
Definition at line 1067 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getDeducedTemplateSpecializationType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new default statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1360 of file TreeTransform.h.
References clang::Sema::ActOnDefaultStmt(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildDependentAddressSpaceType | ( | QualType | PointeeType, |
Expr * | AddrSpaceExpr, | ||
SourceLocation | AttributeLoc | ||
) |
Build a new DependentAddressSpaceType or return the pointee type variable with the correct address space (retrieved from AddrSpaceExpr) applied to it.
The former will be returned in cases where the address space remains dependent.
By default, performs semantic analysis when building the type with address space applied. Subclasses may override this routine to provide different behavior.
Definition at line 14862 of file TreeTransform.h.
References clang::Sema::BuildAddressSpaceAttr().
QualType clang::TreeTransform< Derived >::RebuildDependentBitIntType | ( | bool | IsUnsigned, |
Expr * | NumBitsExpr, | ||
SourceLocation | Loc | ||
) |
Build a dependent bit-precise int given its value type.
Definition at line 15049 of file TreeTransform.h.
References clang::Sema::BuildBitIntType().
|
inline |
Build a new co_await expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 1563 of file TreeTransform.h.
References clang::Sema::BuildUnresolvedCoawaitExpr(), clang::TreeTransform< Derived >::getSema(), and clang::Result.
|
inline |
Build a new typename type that refers to an identifier.
By default, performs semantic analysis when building the typename type (or elaborated type). Subclasses may override this routine to provide different behavior.
Definition at line 1149 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::LookupResult::Ambiguous, clang::Sema::CheckTypenameType(), clang::Sema::computeDeclContext(), clang::Sema::Context, clang::Sema::Diag(), clang::ETK_None, clang::ETK_Typename, clang::LookupResult::Found, clang::LookupResult::FoundOverloaded, clang::LookupResult::FoundUnresolvedValue, clang::ASTContext::getDependentNameType(), clang::ASTContext::getElaboratedType(), clang::Decl::getLocation(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::Sema::getNonTagTypeDeclKind(), clang::NestedNameSpecifierLoc::getSourceRange(), clang::TypeWithKeyword::getTagTypeKindForKeyword(), clang::ASTContext::getTypeDeclType(), Id, clang::Sema::isAcceptableTagRedeclaration(), clang::NestedNameSpecifier::isDependent(), clang::Sema::LookupQualifiedName(), clang::Sema::LookupTagName, clang::LookupResult::NotFound, clang::LookupResult::NotFoundInCurrentInstantiation, clang::Sema::RequireCompleteDeclContext(), clang::Result, and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new (previously unresolved) declaration reference expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3363 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), clang::TreeTransform< Derived >::getSema(), and clang::SourceLocation::isValid().
QualType clang::TreeTransform< Derived >::RebuildDependentSizedArrayType | ( | QualType | ElementType, |
ArrayType::ArraySizeModifier | SizeMod, | ||
Expr * | SizeExpr, | ||
unsigned | IndexTypeQuals, | ||
SourceRange | BracketsRange | ||
) |
Build a new dependent-sized array type given the element type, size modifier, size expression, and index type qualifiers.
By default, performs semantic analysis when building the array type. Subclasses may override this routine to provide different behavior.
Definition at line 14851 of file TreeTransform.h.
QualType clang::TreeTransform< Derived >::RebuildDependentSizedExtVectorType | ( | QualType | ElementType, |
Expr * | SizeExpr, | ||
SourceLocation | AttributeLoc | ||
) |
Build a new potentially dependently-sized extended vector type given the element type and number of elements.
By default, performs semantic analysis when building the vector type. Subclasses may override this routine to provide different behavior.
Definition at line 14898 of file TreeTransform.h.
References clang::Sema::BuildExtVectorType().
QualType clang::TreeTransform< Derived >::RebuildDependentSizedMatrixType | ( | QualType | ElementType, |
Expr * | RowExpr, | ||
Expr * | ColumnExpr, | ||
SourceLocation | AttributeLoc | ||
) |
Build a new matrix type given the type and dependently-defined dimensions.
Definition at line 14912 of file TreeTransform.h.
References clang::Sema::BuildMatrixType().
|
inline |
Build a new typename type that refers to a template-id.
By default, builds a new DependentNameType type from the nested-name-specifier and the given type. Subclasses may override this routine to provide different behavior.
Definition at line 1109 of file TreeTransform.h.
References clang::CXXScopeSpec::Adopt(), clang::TemplateArgumentListInfo::arguments(), clang::Sema::Context, clang::TemplateName::getAsDependentTemplateName(), clang::ASTContext::getDependentTemplateSpecializationType(), clang::TreeTransform< Derived >::getDerived(), clang::ASTContext::getElaboratedType(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::TemplateName::isNull(), clang::QualType::isNull(), and clang::TreeTransform< Derived >::SemaRef.
QualType clang::TreeTransform< Derived >::RebuildDependentVectorType | ( | QualType | ElementType, |
Expr * | SizeExpr, | ||
SourceLocation | AttributeLoc, | ||
VectorType::VectorKind | VecKind | ||
) |
Build a new potentially dependently-sized extended vector type given the element type and number of elements.
By default, performs semantic analysis when building the vector type. Subclasses may override this routine to provide different behavior.
Definition at line 14878 of file TreeTransform.h.
References clang::Sema::BuildVectorType().
|
inline |
Build a new designated initializer expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2939 of file TreeTransform.h.
References clang::Sema::ActOnDesignatedInitializer(), clang::ExprError(), clang::Result, and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new do-while statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1433 of file TreeTransform.h.
References clang::Sema::ActOnDoStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new qualified name type.
By default, builds a new ElaboratedType type from the keyword, the nested-name-specifier and the named type. Subclasses may override this routine to provide different behavior.
Definition at line 1095 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getElaboratedType(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build an empty C++1z fold-expression with the given operator.
By default, produces the fallback value for the fold-expression, or produce an error if there is no fallback value.
Definition at line 3900 of file TreeTransform.h.
References clang::Sema::BuildEmptyCXXFoldExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Enum type.
Definition at line 1023 of file TreeTransform.h.
References clang::Sema::Context, Enum, clang::ASTContext::getTypeDeclType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new C++ exception declaration.
By default, performs semantic analysis to build the new decaration. Subclasses may override this routine to provide different behavior.
Definition at line 2474 of file TreeTransform.h.
References clang::DeclContext::addDecl(), clang::Sema::BuildExceptionDeclaration(), clang::Sema::CurContext, clang::TreeTransform< Derived >::getSema(), and Id.
|
inline |
Build a new expression trait expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3351 of file TreeTransform.h.
References clang::Sema::BuildExpressionTrait(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 3586 of file TreeTransform.h.
References clang::Sema::BuildExprRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Definition at line 3595 of file TreeTransform.h.
References clang::Sema::BuildExprRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new extended vector element access expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2911 of file TreeTransform.h.
References clang::Sema::BuildMemberReferenceExpr(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildExtVectorType | ( | QualType | ElementType, |
unsigned | NumElements, | ||
SourceLocation | AttributeLoc | ||
) |
Build a new extended vector type given the element type and number of elements.
By default, performs semantic analysis when building the vector type. Subclasses may override this routine to provide different behavior.
Definition at line 14885 of file TreeTransform.h.
References clang::Sema::BuildExtVectorType(), clang::Sema::Context, clang::IntegerLiteral::Create(), clang::ASTContext::getIntWidth(), and clang::ASTContext::IntTy.
|
inline |
Build a new for statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1444 of file TreeTransform.h.
References clang::Sema::ActOnForStmt(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildFunctionNoProtoType | ( | QualType | ResultType | ) |
Build a new unprototyped function type.
Definition at line 14931 of file TreeTransform.h.
References clang::Sema::Context, and clang::ASTContext::getFunctionNoProtoType().
QualType clang::TreeTransform< Derived >::RebuildFunctionProtoType | ( | QualType | T, |
MutableArrayRef< QualType > | ParamTypes, | ||
const FunctionProtoType::ExtProtoInfo & | EPI | ||
) |
Build a new function type.
By default, performs semantic analysis when building the function type. Subclasses may override this routine to provide different behavior.
Definition at line 14920 of file TreeTransform.h.
References clang::Sema::BuildFunctionType().
|
inline |
Build a new inline asm statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1493 of file TreeTransform.h.
References clang::Sema::ActOnGCCAsmStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new generic selection expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3020 of file TreeTransform.h.
References clang::Sema::CreateGenericSelectionExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new goto statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1456 of file TreeTransform.h.
References clang::Sema::ActOnGotoStmt(), clang::TreeTransform< Derived >::getSema(), and Label.
|
inline |
Build a new "if" statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1390 of file TreeTransform.h.
References clang::Sema::ActOnIfStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new value-initialized expression.
By default, builds the implicit value initialization without performing any semantic analysis. Subclasses may override this routine to provide different behavior.
Definition at line 2958 of file TreeTransform.h.
References clang::Sema::Context, and clang::TreeTransform< Derived >::SemaRef.
QualType clang::TreeTransform< Derived >::RebuildIncompleteArrayType | ( | QualType | ElementType, |
ArrayType::ArraySizeModifier | SizeMod, | ||
unsigned | IndexTypeQuals, | ||
SourceRange | BracketsRange | ||
) |
Build a new incomplete array type given the element type, size modifier, and index type qualifiers.
By default, performs semantic analysis when building the array type. Subclasses may override this routine to provide different behavior.
Definition at line 14829 of file TreeTransform.h.
|
inline |
Build a new indirect goto statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1465 of file TreeTransform.h.
References clang::Sema::ActOnIndirectGotoStmt(), clang::TreeTransform< Derived >::getSema(), and clang::Target.
|
inline |
Build a new initializer list expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2929 of file TreeTransform.h.
References clang::Sema::BuildInitList(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new label statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1371 of file TreeTransform.h.
References clang::Sema::ActOnLabelStmt(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new MacroDefined type.
Definition at line 1012 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getMacroQualifiedType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new matrix subscript expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2712 of file TreeTransform.h.
References clang::Sema::CreateBuiltinMatrixSubscriptExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new member access expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2780 of file TreeTransform.h.
References clang::LookupResult::addDecl(), clang::CXXScopeSpec::Adopt(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::ExprError(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::TreeTransform< Derived >::getSema(), clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), clang::Type::isPointerType(), clang::Sema::LookupMemberName, clang::DeclAccessPair::make(), clang::Member, clang::Sema::PerformMemberExprBaseConversion(), clang::Sema::PerformObjectMemberConversion(), clang::LookupResult::resolveKind(), and clang::VK_LValue.
QualType clang::TreeTransform< Derived >::RebuildMemberPointerType | ( | QualType | PointeeType, |
QualType | ClassType, | ||
SourceLocation | Sigil | ||
) |
Build a new member pointer type given the pointee type and the class type it refers into.
By default, performs semantic analysis when building the member pointer type. Subclasses may override this routine to provide different behavior.
Definition at line 14735 of file TreeTransform.h.
References clang::Sema::BuildMemberPointerType().
|
inline |
Build a new MS style inline asm statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1509 of file TreeTransform.h.
References clang::Sema::ActOnMSAsmStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new C++0x range-based for statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2550 of file TreeTransform.h.
References clang::Sema::BuildMSDependentExistsStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 3608 of file TreeTransform.h.
References clang::Sema::BuildNestedRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Definition at line 3602 of file TreeTransform.h.
References clang::Sema::BuildNestedRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new Objective-C array literal.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3624 of file TreeTransform.h.
References clang::Sema::BuildObjCArrayLiteral(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @catch statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1609 of file TreeTransform.h.
References clang::Sema::ActOnObjCAtCatchStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @finally statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1621 of file TreeTransform.h.
References clang::Sema::ActOnObjCAtFinallyStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Rebuild the operand to an Objective-C @synchronized statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2428 of file TreeTransform.h.
References clang::Sema::ActOnObjCAtSynchronizedOperand(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @synchronized statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2437 of file TreeTransform.h.
References clang::Sema::ActOnObjCAtSynchronizedStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @throw statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1630 of file TreeTransform.h.
References clang::Sema::BuildObjCAtThrowStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @try statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1585 of file TreeTransform.h.
References clang::Sema::ActOnObjCAtTryStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @autoreleasepool statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2446 of file TreeTransform.h.
References clang::Sema::ActOnObjCAutoreleasePoolStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C boxed expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3616 of file TreeTransform.h.
References clang::Sema::BuildObjCBoxedExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C dictionary literal.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3642 of file TreeTransform.h.
References clang::Sema::BuildObjCDictionaryLiteral(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C @encode expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3651 of file TreeTransform.h.
References clang::Sema::BuildObjCEncodeExpression(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Rebuild an Objective-C exception declaration.
By default, performs semantic analysis to build the new declaration. Subclasses may override this routine to provide different behavior.
Definition at line 1597 of file TreeTransform.h.
References clang::Sema::BuildObjCExceptionDecl(), clang::NamedDecl::getIdentifier(), clang::DeclaratorDecl::getInnerLocStart(), clang::Decl::getLocation(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new Objective-C fast enumeration statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2455 of file TreeTransform.h.
References clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::FinishObjCForCollectionStmt(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::TreeTransform< Derived >::getSema(), clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), and clang::StmtError().
|
inline |
Build a new Objective-C "isa" expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3769 of file TreeTransform.h.
References clang::Sema::BuildMemberReferenceExpr(), clang::TreeTransform< Derived >::getSema(), and clang::Expr::getType().
|
inline |
Build a new Objective-C ivar reference expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3714 of file TreeTransform.h.
References clang::Sema::BuildMemberReferenceExpr(), clang::NamedDecl::getDeclName(), clang::TreeTransform< Derived >::getSema(), clang::Expr::getType(), and clang::Result.
|
inline |
Build a new Objective-C instance message.
Definition at line 3673 of file TreeTransform.h.
References clang::Sema::BuildInstanceMessage(), clang::Expr::getType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new Objective-C instance/class message to 'super'.
Definition at line 3688 of file TreeTransform.h.
References clang::Sema::BuildClassMessage(), clang::Sema::BuildInstanceMessage(), clang::ObjCMethodDecl::isInstanceMethod(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new Objective-C class message.
Definition at line 3658 of file TreeTransform.h.
References clang::Sema::BuildClassMessage(), clang::TypeSourceInfo::getType(), and clang::TreeTransform< Derived >::SemaRef.
QualType clang::TreeTransform< Derived >::RebuildObjCObjectPointerType | ( | QualType | PointeeType, |
SourceLocation | Star | ||
) |
Build a new Objective-C object pointer type given the pointee type.
By default, directly builds the pointer type, with no additional semantic analysis.
Definition at line 14774 of file TreeTransform.h.
References clang::Sema::Context, and clang::ASTContext::getObjCObjectPointerType().
QualType clang::TreeTransform< Derived >::RebuildObjCObjectType | ( | QualType | BaseType, |
SourceLocation | Loc, | ||
SourceLocation | TypeArgsLAngleLoc, | ||
ArrayRef< TypeSourceInfo * > | TypeArgs, | ||
SourceLocation | TypeArgsRAngleLoc, | ||
SourceLocation | ProtocolLAngleLoc, | ||
ArrayRef< ObjCProtocolDecl * > | Protocols, | ||
ArrayRef< SourceLocation > | ProtocolLocs, | ||
SourceLocation | ProtocolRAngleLoc | ||
) |
Build an Objective-C object type.
By default, performs semantic analysis when building the object type. Subclasses may override this routine to provide different behavior.
Definition at line 14756 of file TreeTransform.h.
References clang::Sema::BuildObjCObjectType().
|
inline |
Build a new Objective-C property reference expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3753 of file TreeTransform.h.
References clang::TreeTransform< Derived >::getSema(), clang::OK_ObjCProperty, clang::TreeTransform< Derived >::Owned(), and clang::VK_LValue.
|
inline |
Build a new Objective-C property reference expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3734 of file TreeTransform.h.
References clang::Sema::BuildMemberReferenceExpr(), clang::TreeTransform< Derived >::getSema(), clang::Expr::getType(), and clang::Property.
|
inline |
Definition at line 3630 of file TreeTransform.h.
References clang::Sema::BuildObjCSubscriptExpression(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildObjCTypeParamType | ( | const ObjCTypeParamDecl * | Decl, |
SourceLocation | ProtocolLAngleLoc, | ||
ArrayRef< ObjCProtocolDecl * > | Protocols, | ||
ArrayRef< SourceLocation > | ProtocolLocs, | ||
SourceLocation | ProtocolRAngleLoc | ||
) |
Definition at line 14743 of file TreeTransform.h.
References clang::Sema::BuildObjCTypeParamType().
|
inline |
Build a new builtin offsetof expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2659 of file TreeTransform.h.
References clang::Sema::BuildBuiltinOffsetOf(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'affinity' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2264 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAffinityClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'align' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2383 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAlignClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'aligned' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1924 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAlignedClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'allocate' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2028 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAllocateClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'allocator' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1740 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAllocatorClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new array section expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2723 of file TreeTransform.h.
References clang::Sema::ActOnOMPArraySectionExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new array shaping expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2738 of file TreeTransform.h.
References clang::Sema::ActOnOMPArrayShapingExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'at' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2393 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPAtClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'bind' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2359 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPBindClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP Canonical loop.
Ensures that the outermost loop in LoopStmt
is wrapped by a OMPCanonicalLoop.
Definition at line 1639 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPCanonicalLoop(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'collapse' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1750 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPCollapseClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'copyin' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1937 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPCopyinClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'copyprivate' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1949 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPCopyprivateClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'default' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1761 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDefaultClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'defaultmap' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2202 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDefaultmapClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'depend' pseudo clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1984 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDependClause(), Data, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'depobj' pseudo clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1973 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDepobjClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'destroy' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2313 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDestroyClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'detach' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2111 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDetachClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'device' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1997 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDeviceClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'dist_schedule' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2122 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPDistScheduleClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'exclusive' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2241 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPExclusiveClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP executable directive.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1647 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPExecutableDirective(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'filter' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2348 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFilterClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'final' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1676 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFinalClause(), clang::Condition, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'firstprivate' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1822 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFirstprivateClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'flush' pseudo clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1961 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFlushClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'from' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2151 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFromClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'full' clause.
Definition at line 1723 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPFullClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'grainsize' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2075 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPGrainsizeClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'has_device_addr' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2193 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPHasDeviceAddrClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'hint' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2101 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPHintClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'if' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1661 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPIfClause(), clang::Condition, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'inclusive' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2229 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPInclusiveClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'init' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2289 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPInitClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'in_reduction' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1893 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPInReductionClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'is_device_ptr' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2184 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPIsDevicePtrClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new iterator expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2750 of file TreeTransform.h.
References clang::Sema::ActOnOMPIteratorExpr(), Data, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'lastprivate' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1834 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPLastprivateClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'linear' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1908 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPLinearClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'map' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2010 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPMapClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'message' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2418 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPMessageClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'nocontext' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2337 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNocontextClause(), clang::Condition, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'nontemporal' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2217 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNontemporalClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'novariants' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2325 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNovariantsClause(), clang::Condition, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'num_tasks' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2088 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNumTasksClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'num_teams' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2041 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNumTeamsClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'num_threads' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1687 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPNumThreadsClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'order' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2277 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPOrderClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'ordered' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1800 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPOrderedClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'partial' clause.
Definition at line 1729 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPPartialClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'priority' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2064 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPPriorityClause(), clang::TreeTransform< Derived >::getSema(), and Priority.
|
inline |
Build a new OpenMP 'private' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1810 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPPrivateClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'proc_bind' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1773 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPProcBindClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'reduction' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1861 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPReductionClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'safelen' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1699 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPSafelenClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'schedule' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1786 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPScheduleClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'severity' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2405 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPSeverityClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'shared' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1849 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPSharedClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'simdlen' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 1709 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPSimdlenClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 1715 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPSizesClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'task_reduction' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1877 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPTaskReductionClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'thread_limit' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2052 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPThreadLimitClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'to' clause.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 2135 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPToClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'use' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2302 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPUseClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'use_device_addr' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2175 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPUseDeviceAddrClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'use_device_ptr' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2166 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPUseDevicePtrClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'uses_allocators' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2253 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPUsesAllocatorClause(), Data, and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new OpenMP 'ompx_dyn_cgroup_mem' clause.
By default, performs semantic analysis to build the new OpenMP clause. Subclasses may override this routine to provide different behavior.
Definition at line 2372 of file TreeTransform.h.
References clang::Sema::ActOnOpenMPXDynCGroupMemClause(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new expression pack expansion.
By default, performs semantic analysis to build a new pack expansion for an expression. Subclasses may override this routine to provide different behavior.
Definition at line 3876 of file TreeTransform.h.
References clang::Sema::CheckPackExpansion(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new template argument pack expansion.
By default, performs semantic analysis to build a new pack expansion for a template argument. Subclasses may override this routine to provide different behavior.
Definition at line 3829 of file TreeTransform.h.
References clang::Sema::CheckPackExpansion(), clang::Sema::Context, clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgumentLoc::getArgument(), clang::TemplateArgument::getAsTemplate(), clang::TemplateArgument::getKind(), clang::TreeTransform< Derived >::getSema(), clang::TemplateArgumentLoc::getSourceExpression(), clang::TemplateArgumentLoc::getTemplateNameLoc(), clang::TemplateArgumentLoc::getTemplateQualifierLoc(), clang::TemplateArgumentLoc::getTypeSourceInfo(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::Result, clang::TreeTransform< Derived >::SemaRef, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
|
inline |
Build a new pack expansion type.
By default, builds a new PackExpansionType type from the given pattern. Subclasses may override this routine to provide different behavior.
Definition at line 1246 of file TreeTransform.h.
References clang::Sema::CheckPackExpansion(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new expression in parentheses.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2627 of file TreeTransform.h.
References clang::Sema::ActOnParenExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new expression list in parentheses.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2978 of file TreeTransform.h.
References clang::Sema::ActOnParenListExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new parenthesized type.
By default, builds a new ParenType type from the inner type. Subclasses may override this routine to provide different behavior.
Definition at line 1086 of file TreeTransform.h.
References clang::Sema::BuildParenType(), and clang::TreeTransform< Derived >::SemaRef.
QualType clang::TreeTransform< Derived >::RebuildPipeType | ( | QualType | ValueType, |
SourceLocation | KWLoc, | ||
bool | isReadPipe | ||
) |
Build a new pipe type given its value type.
Definition at line 15030 of file TreeTransform.h.
References clang::Sema::BuildReadPipeType(), and clang::Sema::BuildWritePipeType().
QualType clang::TreeTransform< Derived >::RebuildPointerType | ( | QualType | PointeeType, |
SourceLocation | Sigil | ||
) |
Build a new pointer type given its pointee type.
By default, performs semantic analysis when building the pointer type. Subclasses may override this routine to provide different behavior.
Definition at line 14711 of file TreeTransform.h.
References clang::Sema::BuildPointerType().
|
inline |
Build a new predefined expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2592 of file TreeTransform.h.
References clang::Sema::BuildPredefinedExpr(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildQualifiedType | ( | QualType | T, |
QualifiedTypeLoc | TL | ||
) |
Build a new qualified type given its unqualified type and type location.
By default, this routine adds type qualifiers only to types that can have qualifiers, and silently suppresses those qualifiers that are not permitted. Subclasses may override this routine to provide different behavior.
Definition at line 4950 of file TreeTransform.h.
References clang::Sema::BuildQualifiedType(), clang::Sema::Context, clang::Default, clang::Sema::Diag(), clang::Qualifiers::fromCVRMask(), clang::Qualifiers::getAddressSpace(), clang::QualType::getAddressSpace(), clang::ASTContext::getAddrSpaceQualType(), clang::Sema::getASTContext(), clang::ASTContext::getAutoType(), clang::TypeLoc::getBeginLoc(), clang::DeducedType::getDeducedType(), clang::AutoType::getKeyword(), clang::QualType::getLocalQualifiers(), clang::QualType::getObjCLifetime(), clang::ASTContext::getQualifiedType(), clang::QualType::getQualifiers(), clang::TypeLoc::getType(), clang::AutoType::getTypeConstraintArguments(), clang::AutoType::getTypeConstraintConcept(), clang::QualType::getUnqualifiedType(), clang::Qualifiers::hasObjCLifetime(), clang::Qualifiers::hasRestrict(), clang::DeducedType::isDeduced(), clang::Type::isDependentType(), clang::Type::isFunctionType(), clang::Type::isObjCLifetimeType(), clang::Type::isReferenceType(), clang::Qualifiers::removeObjCLifetime(), and clang::Qualifiers::Restrict.
|
inline |
Build a new class/struct/union type.
Definition at line 1018 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getTypeDeclType(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Definition at line 3929 of file TreeTransform.h.
References clang::Sema::CreateRecoveryExpr(), and clang::TreeTransform< Derived >::getSema().
QualType clang::TreeTransform< Derived >::RebuildReferenceType | ( | QualType | ReferentType, |
bool | LValue, | ||
SourceLocation | Sigil | ||
) |
Build a new reference type given the type it references.
By default, performs semantic analysis when building the reference type. Subclasses may override this routine to provide different behavior.
LValue | whether the type was written with an lvalue sigil or an rvalue sigil. |
Definition at line 14726 of file TreeTransform.h.
References clang::Sema::BuildReferenceType().
|
inline |
Build a new requires expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3566 of file TreeTransform.h.
References clang::Sema::Context, clang::RequiresExpr::Create(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new return statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1475 of file TreeTransform.h.
References clang::Sema::BuildReturnStmt(), clang::TreeTransform< Derived >::getSema(), and clang::Result.
|
inline |
Definition at line 2572 of file TreeTransform.h.
References clang::Sema::ActOnSEHExceptBlock(), clang::Block, and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 2577 of file TreeTransform.h.
References clang::Block, clang::SEHFinallyStmt::Create(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 2567 of file TreeTransform.h.
References clang::Sema::ActOnSEHTryBlock(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new shuffle vector expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3786 of file TreeTransform.h.
References clang::ASTContext::BuiltinFnTy, clang::Sema::Context, clang::CallExpr::Create(), clang::DeclContextLookupResult::empty(), clang::DeclContextLookupResult::front(), clang::ActionResult< PtrTy, CompressInvalid >::get(), clang::IdentifierTable::get(), clang::FunctionDecl::getCallResultType(), clang::ASTContext::getPointerType(), clang::FunctionDecl::getReturnType(), clang::ASTContext::getTranslationUnitDecl(), clang::ValueDecl::getType(), clang::Expr::getValueKindForType(), clang::ASTContext::Idents, clang::Sema::ImpCastExprToType(), clang::DeclContext::lookup(), clang::Sema::SemaBuiltinShuffleVector(), clang::TreeTransform< Derived >::SemaRef, and clang::VK_PRValue.
|
inline |
Build a new expression to compute the length of a parameter pack.
Definition at line 3521 of file TreeTransform.h.
References clang::Sema::Context, clang::SizeOfPackExpr::Create(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Build a new expression representing a call to a source location builtin.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3535 of file TreeTransform.h.
References clang::Sema::BuildSourceLocExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new GNU statement expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 2998 of file TreeTransform.h.
References clang::Sema::BuildStmtExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Attach the body to the switch statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1414 of file TreeTransform.h.
References clang::Sema::ActOnFinishSwitchStmt(), clang::TreeTransform< Derived >::getSema(), and clang::Switch.
|
inline |
Start building a new switch statement.
By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Definition at line 1402 of file TreeTransform.h.
References clang::Sema::ActOnStartOfSwitchStmt(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Definition at line 2581 of file TreeTransform.h.
References clang::Sema::BuildSYCLUniqueStableNameExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new template-id expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Definition at line 3385 of file TreeTransform.h.
References clang::Sema::BuildTemplateIdExpr(), and clang::TreeTransform< Derived >::getSema().
|
inline |
Build a new template name given a template template parameter pack and the.
By default, performs semantic analysis to determine whether the name can be resolved to a specific template, then builds the appropriate kind of template name. Subclasses may override this routine to provide different behavior.
Definition at line 1315 of file TreeTransform.h.
References clang::Sema::Context, clang::TreeTransform< Derived >::getSema(), and clang::ASTContext::getSubstTemplateTemplateParmPack().
TemplateName clang::TreeTransform< Derived >::RebuildTemplateName | ( | CXXScopeSpec & | SS, |
bool | TemplateKW, | ||
TemplateDecl * | Template | ||
) |
Build a new template name given a nested name specifier, a flag indicating whether the "template" keyword was provided, and the template that the template name refers to.
By default, builds the new template name directly. Subclasses may override this routine to provide different behavior.
Definition at line 15056 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getQualifiedTemplateName(), and clang::CXXScopeSpec::getScopeRep().
TemplateName clang::TreeTransform< Derived >::RebuildTemplateName | ( | CXXScopeSpec & | SS, |
SourceLocation | TemplateKWLoc, | ||
const IdentifierInfo & | Name, | ||
SourceLocation | NameLoc, | ||
QualType | ObjectType, | ||
NamedDecl * | FirstQualifierInScope, | ||
bool | AllowInjectedClassName | ||
) |
Build a new template name given a nested name specifier and the name that is referred to as a template.
By default, performs semantic analysis to determine whether the name can be resolved to a specific template, then builds the appropriate kind of template name. Subclasses may override this routine to provide different behavior.
Definition at line 15065 of file TreeTransform.h.
References clang::OpaquePtr< PtrTy >::get(), and clang::OpaquePtr< QualType >::make().
TemplateName clang::TreeTransform< Derived >::RebuildTemplateName | ( | CXXScopeSpec & | SS, |
SourceLocation | TemplateKWLoc, | ||
OverloadedOperatorKind | Operator, | ||
SourceLocation | NameLoc, | ||
QualType | ObjectType, | ||
bool | AllowInjectedClassName | ||
) |
Build a new template name given a nested name specifier and the overloaded operator name that is referred to as a template.
By default, performs semantic analysis to determine whether the name can be resolved to a specific template, then builds the appropriate kind of template name. Subclasses may override this routine to provide different behavior.
Definition at line 15084 of file TreeTransform.h.
References clang::OpaquePtr< PtrTy >::get(), and clang::OpaquePtr< QualType >::make().
QualType clang::TreeTransform< Derived >::RebuildTemplateSpecializationType | ( | TemplateName | Template, |
SourceLocation | TemplateLoc, | ||
TemplateArgumentListInfo & | Args | ||
) |
Build a new template specialization type.
By default, performs semantic analysis when building the template specialization type. Subclasses may override this routine to provide different behavior.
Definition at line 15016 of file TreeTransform.h.
References clang::Sema::CheckTemplateIdType().
|
inline |
Build a new typedef type.
Definition at line 1007 of file TreeTransform.h.
References clang::Sema::Context, clang::ASTContext::getTypeDeclType(), and clang::TreeTransform< Derived >::SemaRef.
QualType clang::TreeTransform< Derived >::RebuildTypeOfExprType | ( | Expr * | Underlying, |
SourceLocation | Loc, | ||
TypeOfKind | Kind | ||
) |
Build a new typeof(expr) type.
By default, performs semantic analysis when building the typeof type. Subclasses may override this routine to provide different behavior.
Definition at line 14992 of file TreeTransform.h.
References clang::Sema::BuildTypeofExprType().
QualType clang::TreeTransform< Derived >::RebuildTypeOfType | ( | QualType | Underlying, |
TypeOfKind | Kind | ||
) |
Build a new typeof(type) type.
By default, builds a new TypeOfType with the given underlying type.
Definition at line 14998 of file TreeTransform.h.
References clang::Sema::Context, and clang::ASTContext::getTypeOfType().
|
inline |
Definition at line 3576 of file TreeTransform.h.
References clang::Sema::BuildTypeRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inline |
Definition at line 3581 of file TreeTransform.h.
References clang::Sema::BuildTypeRequirement(), and clang::TreeTransform< Derived >::SemaRef.
|
inl |