class TreeTransform
Declaration
template <typename Derived>
class TreeTransform { /* full declaration omitted */ };
Description
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 \c X of\c 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\c 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 \c RebuildXXX functions to control how AST nodes are rebuilt when their operands change. By default, \c 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 (\c AlreadyTransformed()), force rebuilding AST nodes even when their operands have not changed (\c AlwaysRebuild()), and customize the default locations and entity names used for type-checking (\c getBaseLocation(), \c getBaseEntity()).
Declared at: clang/lib/Sema/TreeTransform.h:101
Templates
- Derived
Member Variables
- protected clang::Sema& SemaRef
- protected 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).
Method Overview
- public bool AllowSkippingCXXConstructExpr()
- public bool AlreadyTransformed(clang::QualType T)
- public bool AlwaysRebuild()
- public bool DropCallArgument(clang::Expr * E)
- public void ExpandingFunctionParameterPack(clang::ParmVarDecl * Pack)
- public clang::StmtResult FinishCXXForRangeStmt(clang::Stmt * ForRange, clang::Stmt * Body)
- public clang::TemplateArgument ForgetPartiallySubstitutedPack()
- public void InventTemplateArgumentLoc(const clang::TemplateArgument & Arg, clang::TemplateArgumentLoc & ArgLoc)
- public clang::TypeSourceInfo * InventTypeSourceInfo(clang::QualType T)
- public static inline clang::ExprResult Owned(clang::Expr * E)
- public static inline clang::StmtResult Owned(clang::Stmt * S)
- public clang::ExprResult RebuildAddrLabelExpr(clang::SourceLocation AmpAmpLoc, clang::SourceLocation LabelLoc, clang::LabelDecl * Label)
- public clang::ExprResult RebuildArraySubscriptExpr(clang::Expr * LHS, clang::SourceLocation LBracketLoc, clang::Expr * RHS, clang::SourceLocation RBracketLoc)
- public clang::QualType RebuildArrayType(clang::QualType ElementType, ArrayType::ArraySizeModifier SizeMod, const llvm::APInt * Size, clang::Expr * SizeExpr, unsigned int IndexTypeQuals, clang::SourceRange BracketsRange)
- public clang::ExprResult RebuildArrayTypeTrait(clang::ArrayTypeTrait Trait, clang::SourceLocation StartLoc, clang::TypeSourceInfo * TSInfo, clang::Expr * DimExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildAtomicExpr(clang::SourceLocation BuiltinLoc, clang::MultiExprArg SubExprs, AtomicExpr::AtomicOp Op, clang::SourceLocation RParenLoc)
- public clang::QualType RebuildAtomicType(clang::QualType ValueType, clang::SourceLocation KWLoc)
- public clang::StmtResult RebuildAttributedStmt(clang::SourceLocation AttrLoc, ArrayRef<const clang::Attr *> Attrs, clang::Stmt * SubStmt)
- public clang::QualType RebuildAutoType(clang::QualType Deduced, clang::AutoTypeKeyword Keyword, clang::ConceptDecl * TypeConstraintConcept, ArrayRef<clang::TemplateArgument> TypeConstraintArgs)
- public clang::ExprResult RebuildBinaryOperator(clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opc, clang::Expr * LHS, clang::Expr * RHS)
- public clang::QualType RebuildBitIntType(bool IsUnsigned, unsigned int NumBits, clang::SourceLocation Loc)
- public clang::QualType RebuildBlockPointerType(clang::QualType PointeeType, clang::SourceLocation Sigil)
- public clang::ExprResult RebuildBuiltinBitCastExpr(clang::SourceLocation KWLoc, clang::TypeSourceInfo * TSI, clang::Expr * Sub, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCStyleCastExpr(clang::SourceLocation LParenLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RParenLoc, clang::Expr * SubExpr)
- public clang::ExprResult RebuildCXXAddrspaceCastExpr(clang::SourceLocation OpLoc, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::StmtResult RebuildCXXCatchStmt(clang::SourceLocation CatchLoc, clang::VarDecl * ExceptionDecl, clang::Stmt * Handler)
- public clang::ExprResult RebuildCXXConstCastExpr(clang::SourceLocation OpLoc, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXConstructExpr(clang::QualType T, clang::SourceLocation Loc, clang::CXXConstructorDecl * Constructor, bool IsElidable, clang::MultiExprArg Args, bool HadMultipleCandidates, bool ListInitialization, bool StdInitListInitialization, bool RequiresZeroInit, CXXConstructExpr::ConstructionKind ConstructKind, clang::SourceRange ParenRange)
- public clang::ExprResult RebuildCXXDefaultArgExpr(clang::SourceLocation Loc, clang::ParmVarDecl * Param)
- public clang::ExprResult RebuildCXXDefaultInitExpr(clang::SourceLocation Loc, clang::FieldDecl * Field)
- public clang::ExprResult RebuildCXXDeleteExpr(clang::SourceLocation StartLoc, bool IsGlobalDelete, bool IsArrayForm, clang::Expr * Operand)
- public clang::ExprResult RebuildCXXDependentScopeMemberExpr(clang::Expr * BaseE, clang::QualType BaseType, bool IsArrow, clang::SourceLocation OperatorLoc, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, clang::NamedDecl * FirstQualifierInScope, const clang::DeclarationNameInfo & MemberNameInfo, const clang::TemplateArgumentListInfo * TemplateArgs)
- public clang::ExprResult RebuildCXXDynamicCastExpr(clang::SourceLocation OpLoc, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXFoldExpr(clang::UnresolvedLookupExpr * ULE, clang::SourceLocation LParenLoc, clang::Expr * LHS, clang::BinaryOperatorKind Operator, clang::SourceLocation EllipsisLoc, clang::Expr * RHS, clang::SourceLocation RParenLoc, Optional<unsigned int> NumExpansions)
- public clang::StmtResult RebuildCXXForRangeStmt(clang::SourceLocation ForLoc, clang::SourceLocation CoawaitLoc, clang::Stmt * Init, clang::SourceLocation ColonLoc, clang::Stmt * Range, clang::Stmt * Begin, clang::Stmt * End, clang::Expr * Cond, clang::Expr * Inc, clang::Stmt * LoopVar, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXFunctionalCastExpr(clang::TypeSourceInfo * TInfo, clang::SourceLocation LParenLoc, clang::Expr * Sub, clang::SourceLocation RParenLoc, bool ListInitialization)
- public clang::ExprResult RebuildCXXInheritedCtorInitExpr(clang::QualType T, clang::SourceLocation Loc, clang::CXXConstructorDecl * Constructor, bool ConstructsVBase, bool InheritedFromVBase)
- public clang::ExprResult RebuildCXXNamedCastExpr(clang::SourceLocation OpLoc, Stmt::StmtClass Class, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXNewExpr(clang::SourceLocation StartLoc, bool UseGlobal, clang::SourceLocation PlacementLParen, clang::MultiExprArg PlacementArgs, clang::SourceLocation PlacementRParen, clang::SourceRange TypeIdParens, clang::QualType AllocatedType, clang::TypeSourceInfo * AllocatedTypeInfo, Optional<clang::Expr *> ArraySize, clang::SourceRange DirectInitRange, clang::Expr * Initializer)
- public clang::ExprResult RebuildCXXNoexceptExpr(clang::SourceRange Range, clang::Expr * Arg)
- public clang::ExprResult RebuildCXXOperatorCallExpr(clang::OverloadedOperatorKind Op, clang::SourceLocation OpLoc, clang::Expr * Callee, clang::Expr * First, clang::Expr * Second)
- public clang::ExprResult RebuildCXXPseudoDestructorExpr(clang::Expr * Base, clang::SourceLocation OperatorLoc, bool isArrow, clang::CXXScopeSpec & SS, clang::TypeSourceInfo * ScopeType, clang::SourceLocation CCLoc, clang::SourceLocation TildeLoc, clang::PseudoDestructorTypeStorage Destroyed)
- public clang::ExprResult RebuildCXXReinterpretCastExpr(clang::SourceLocation OpLoc, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXRewrittenBinaryOperator(clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opcode, const clang::UnresolvedSetImpl & UnqualLookups, clang::Expr * LHS, clang::Expr * RHS)
- public clang::ExprResult RebuildCXXScalarValueInitExpr(clang::TypeSourceInfo * TSInfo, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXStaticCastExpr(clang::SourceLocation OpLoc, clang::SourceLocation LAngleLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RAngleLoc, clang::SourceLocation LParenLoc, clang::Expr * SubExpr, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXTemporaryObjectExpr(clang::TypeSourceInfo * TSInfo, clang::SourceLocation LParenOrBraceLoc, clang::MultiExprArg Args, clang::SourceLocation RParenOrBraceLoc, bool ListInitialization)
- public clang::ExprResult RebuildCXXThisExpr(clang::SourceLocation ThisLoc, clang::QualType ThisType, bool isImplicit)
- public clang::ExprResult RebuildCXXThrowExpr(clang::SourceLocation ThrowLoc, clang::Expr * Sub, bool IsThrownVariableInScope)
- public clang::StmtResult RebuildCXXTryStmt(clang::SourceLocation TryLoc, clang::Stmt * TryBlock, ArrayRef<clang::Stmt *> Handlers)
- public clang::ExprResult RebuildCXXTypeidExpr(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::Expr * Operand, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXTypeidExpr(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::TypeSourceInfo * Operand, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXUnresolvedConstructExpr(clang::TypeSourceInfo * TSInfo, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc, bool ListInitialization)
- public clang::ExprResult RebuildCXXUuidofExpr(clang::QualType Type, clang::SourceLocation TypeidLoc, clang::Expr * Operand, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCXXUuidofExpr(clang::QualType Type, clang::SourceLocation TypeidLoc, clang::TypeSourceInfo * Operand, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCallExpr(clang::Expr * Callee, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig = nullptr)
- public clang::StmtResult RebuildCaseStmt(clang::SourceLocation CaseLoc, clang::Expr * LHS, clang::SourceLocation EllipsisLoc, clang::Expr * RHS, clang::SourceLocation ColonLoc)
- public clang::StmtResult RebuildCaseStmtBody(clang::Stmt * S, clang::Stmt * Body)
- public clang::ExprResult RebuildChooseExpr(clang::SourceLocation BuiltinLoc, clang::Expr * Cond, clang::Expr * LHS, clang::Expr * RHS, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildCoawaitExpr(clang::SourceLocation CoawaitLoc, clang::Expr * Operand, clang::UnresolvedLookupExpr * OpCoawaitLookup, bool IsImplicit)
- public clang::ExprResult RebuildCompoundLiteralExpr(clang::SourceLocation LParenLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RParenLoc, clang::Expr * Init)
- public clang::StmtResult RebuildCompoundStmt(clang::SourceLocation LBraceLoc, clang::MultiStmtArg Statements, clang::SourceLocation RBraceLoc, bool IsStmtExpr)
- public clang::ExprResult RebuildConceptSpecializationExpr(clang::NestedNameSpecifierLoc NNS, clang::SourceLocation TemplateKWLoc, clang::DeclarationNameInfo ConceptNameInfo, clang::NamedDecl * FoundDecl, clang::ConceptDecl * NamedConcept, clang::TemplateArgumentListInfo * TALI)
- public clang::ExprResult RebuildConditionalOperator(clang::Expr * Cond, clang::SourceLocation QuestionLoc, clang::Expr * LHS, clang::SourceLocation ColonLoc, clang::Expr * RHS)
- public clang::QualType RebuildConstantArrayType(clang::QualType ElementType, ArrayType::ArraySizeModifier SizeMod, const llvm::APInt & Size, clang::Expr * SizeExpr, unsigned int IndexTypeQuals, clang::SourceRange BracketsRange)
- public clang::QualType RebuildConstantMatrixType(clang::QualType ElementType, unsigned int NumRows, unsigned int NumColumns)
- public clang::ExprResult RebuildConvertVectorExpr(clang::SourceLocation BuiltinLoc, clang::Expr * SrcExpr, clang::TypeSourceInfo * DstTInfo, clang::SourceLocation RParenLoc)
- public clang::StmtResult RebuildCoreturnStmt(clang::SourceLocation CoreturnLoc, clang::Expr * Result, bool IsImplicit)
- public clang::StmtResult RebuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs Args)
- public clang::ExprResult RebuildCoyieldExpr(clang::SourceLocation CoyieldLoc, clang::Expr * Result)
- public clang::ExprResult RebuildCxxSubscriptExpr(clang::Expr * Callee, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildDeclRefExpr(clang::NestedNameSpecifierLoc QualifierLoc, clang::ValueDecl * VD, const clang::DeclarationNameInfo & NameInfo, clang::NamedDecl * Found, clang::TemplateArgumentListInfo * TemplateArgs)
- public clang::StmtResult RebuildDeclStmt(MutableArrayRef<clang::Decl *> Decls, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
- public clang::ExprResult RebuildDeclarationNameExpr(const clang::CXXScopeSpec & SS, clang::LookupResult & R, bool RequiresADL)
- public clang::QualType RebuildDecltypeType(clang::Expr * Underlying, clang::SourceLocation Loc)
- public clang::QualType RebuildDeducedTemplateSpecializationType(clang::TemplateName Template, clang::QualType Deduced)
- public clang::StmtResult RebuildDefaultStmt(clang::SourceLocation DefaultLoc, clang::SourceLocation ColonLoc, clang::Stmt * SubStmt)
- public clang::QualType RebuildDependentAddressSpaceType(clang::QualType PointeeType, clang::Expr * AddrSpaceExpr, clang::SourceLocation AttributeLoc)
- public clang::QualType RebuildDependentBitIntType(bool IsUnsigned, clang::Expr * NumBitsExpr, clang::SourceLocation Loc)
- public clang::ExprResult RebuildDependentCoawaitExpr(clang::SourceLocation CoawaitLoc, clang::Expr * Result, clang::UnresolvedLookupExpr * Lookup)
- public clang::QualType RebuildDependentNameType(clang::ElaboratedTypeKeyword Keyword, clang::SourceLocation KeywordLoc, clang::NestedNameSpecifierLoc QualifierLoc, const clang::IdentifierInfo * Id, clang::SourceLocation IdLoc, bool DeducedTSTContext)
- public clang::ExprResult RebuildDependentScopeDeclRefExpr(clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo * TemplateArgs, bool IsAddressOfOperand, clang::TypeSourceInfo ** RecoveryTSI)
- public clang::QualType RebuildDependentSizedArrayType(clang::QualType ElementType, ArrayType::ArraySizeModifier SizeMod, clang::Expr * SizeExpr, unsigned int IndexTypeQuals, clang::SourceRange BracketsRange)
- public clang::QualType RebuildDependentSizedExtVectorType(clang::QualType ElementType, clang::Expr * SizeExpr, clang::SourceLocation AttributeLoc)
- public clang::QualType RebuildDependentSizedMatrixType(clang::QualType ElementType, clang::Expr * RowExpr, clang::Expr * ColumnExpr, clang::SourceLocation AttributeLoc)
- public clang::QualType RebuildDependentTemplateSpecializationType(clang::ElaboratedTypeKeyword Keyword, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, const clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, clang::TemplateArgumentListInfo & Args, bool AllowInjectedClassName)
- public clang::QualType RebuildDependentVectorType(clang::QualType ElementType, clang::Expr * SizeExpr, clang::SourceLocation AttributeLoc, VectorType::VectorKind)
- public clang::ExprResult RebuildDesignatedInitExpr(clang::Designation & Desig, clang::MultiExprArg ArrayExprs, clang::SourceLocation EqualOrColonLoc, bool GNUSyntax, clang::Expr * Init)
- public clang::StmtResult RebuildDoStmt(clang::SourceLocation DoLoc, clang::Stmt * Body, clang::SourceLocation WhileLoc, clang::SourceLocation LParenLoc, clang::Expr * Cond, clang::SourceLocation RParenLoc)
- public clang::QualType RebuildElaboratedType(clang::SourceLocation KeywordLoc, clang::ElaboratedTypeKeyword Keyword, clang::NestedNameSpecifierLoc QualifierLoc, clang::QualType Named)
- public clang::ExprResult RebuildEmptyCXXFoldExpr(clang::SourceLocation EllipsisLoc, clang::BinaryOperatorKind Operator)
- public clang::QualType RebuildEnumType(clang::EnumDecl * Enum)
- public clang::VarDecl * RebuildExceptionDecl(clang::VarDecl * ExceptionDecl, clang::TypeSourceInfo * Declarator, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id)
- public concepts::ExprRequirement * RebuildExprRequirement(concepts::Requirement::SubstitutionDiagnostic * SubstDiag, bool IsSimple, clang::SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement Ret)
- public concepts::ExprRequirement * RebuildExprRequirement(clang::Expr * E, bool IsSimple, clang::SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement Ret)
- public clang::ExprResult RebuildExpressionTrait(clang::ExpressionTrait Trait, clang::SourceLocation StartLoc, clang::Expr * Queried, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildExtVectorElementExpr(clang::Expr * Base, clang::SourceLocation OpLoc, clang::SourceLocation AccessorLoc, clang::IdentifierInfo & Accessor)
- public clang::QualType RebuildExtVectorType(clang::QualType ElementType, unsigned int NumElements, clang::SourceLocation AttributeLoc)
- public clang::StmtResult RebuildForStmt(clang::SourceLocation ForLoc, clang::SourceLocation LParenLoc, clang::Stmt * Init, Sema::ConditionResult Cond, Sema::FullExprArg Inc, clang::SourceLocation RParenLoc, clang::Stmt * Body)
- public clang::QualType RebuildFunctionNoProtoType(clang::QualType ResultType)
- public clang::QualType RebuildFunctionProtoType(clang::QualType T, MutableArrayRef<clang::QualType> ParamTypes, const FunctionProtoType::ExtProtoInfo & EPI)
- public clang::StmtResult RebuildGCCAsmStmt(clang::SourceLocation AsmLoc, bool IsSimple, bool IsVolatile, unsigned int NumOutputs, unsigned int NumInputs, clang::IdentifierInfo ** Names, clang::MultiExprArg Constraints, clang::MultiExprArg Exprs, clang::Expr * AsmString, clang::MultiExprArg Clobbers, unsigned int NumLabels, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildGenericSelectionExpr(clang::SourceLocation KeyLoc, clang::SourceLocation DefaultLoc, clang::SourceLocation RParenLoc, clang::Expr * ControllingExpr, ArrayRef<clang::TypeSourceInfo *> Types, ArrayRef<clang::Expr *> Exprs)
- public clang::StmtResult RebuildGotoStmt(clang::SourceLocation GotoLoc, clang::SourceLocation LabelLoc, clang::LabelDecl * Label)
- public clang::StmtResult RebuildIfStmt(clang::SourceLocation IfLoc, clang::IfStatementKind Kind, clang::SourceLocation LParenLoc, Sema::ConditionResult Cond, clang::SourceLocation RParenLoc, clang::Stmt * Init, clang::Stmt * Then, clang::SourceLocation ElseLoc, clang::Stmt * Else)
- public clang::ExprResult RebuildImplicitValueInitExpr(clang::QualType T)
- public clang::QualType RebuildIncompleteArrayType(clang::QualType ElementType, ArrayType::ArraySizeModifier SizeMod, unsigned int IndexTypeQuals, clang::SourceRange BracketsRange)
- public clang::StmtResult RebuildIndirectGotoStmt(clang::SourceLocation GotoLoc, clang::SourceLocation StarLoc, clang::Expr * Target)
- public clang::ExprResult RebuildInitList(clang::SourceLocation LBraceLoc, clang::MultiExprArg Inits, clang::SourceLocation RBraceLoc)
- public clang::StmtResult RebuildLabelStmt(clang::SourceLocation IdentLoc, clang::LabelDecl * L, clang::SourceLocation ColonLoc, clang::Stmt * SubStmt)
- public clang::StmtResult RebuildMSAsmStmt(clang::SourceLocation AsmLoc, clang::SourceLocation LBraceLoc, ArrayRef<clang::Token> AsmToks, llvm::StringRef AsmString, unsigned int NumOutputs, unsigned int NumInputs, ArrayRef<llvm::StringRef> Constraints, ArrayRef<llvm::StringRef> Clobbers, ArrayRef<clang::Expr *> Exprs, clang::SourceLocation EndLoc)
- public clang::StmtResult RebuildMSDependentExistsStmt(clang::SourceLocation KeywordLoc, bool IsIfExists, clang::NestedNameSpecifierLoc QualifierLoc, clang::DeclarationNameInfo NameInfo, clang::Stmt * Nested)
- public clang::QualType RebuildMacroQualifiedType(clang::QualType T, const clang::IdentifierInfo * MacroII)
- public clang::ExprResult RebuildMatrixSubscriptExpr(clang::Expr * Base, clang::Expr * RowIdx, clang::Expr * ColumnIdx, clang::SourceLocation RBracketLoc)
- public clang::ExprResult RebuildMemberExpr(clang::Expr * Base, clang::SourceLocation OpLoc, bool isArrow, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & MemberNameInfo, clang::ValueDecl * Member, clang::NamedDecl * FoundDecl, const clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::NamedDecl * FirstQualifierInScope)
- public clang::QualType RebuildMemberPointerType(clang::QualType PointeeType, clang::QualType ClassType, clang::SourceLocation Sigil)
- public concepts::NestedRequirement * RebuildNestedRequirement(concepts::Requirement::SubstitutionDiagnostic * SubstDiag)
- public concepts::NestedRequirement * RebuildNestedRequirement(clang::Expr * Constraint)
- public clang::OMPClause * RebuildOMPAffinityClause(clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::Expr * Modifier, ArrayRef<clang::Expr *> Locators)
- public clang::OMPClause * RebuildOMPAlignClause(clang::Expr * A, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPAlignedClause(ArrayRef<clang::Expr *> VarList, clang::Expr * Alignment, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPAllocateClause(clang::Expr * Allocate, ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPAllocatorClause(clang::Expr * A, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::ExprResult RebuildOMPArraySectionExpr(clang::Expr * Base, clang::SourceLocation LBracketLoc, clang::Expr * LowerBound, clang::SourceLocation ColonLocFirst, clang::SourceLocation ColonLocSecond, clang::Expr * Length, clang::Expr * Stride, clang::SourceLocation RBracketLoc)
- public clang::ExprResult RebuildOMPArrayShapingExpr(clang::Expr * Base, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc, ArrayRef<clang::Expr *> Dims, ArrayRef<clang::SourceRange> BracketsRanges)
- public clang::OMPClause * RebuildOMPBindClause(clang::OpenMPBindClauseKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::StmtResult RebuildOMPCanonicalLoop(clang::Stmt * LoopStmt)
- public clang::OMPClause * RebuildOMPCollapseClause(clang::Expr * Num, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPCopyinClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPCopyprivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDefaultClause(llvm::omp::DefaultKind Kind, clang::SourceLocation KindKwLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDefaultmapClause(clang::OpenMPDefaultmapClauseModifier M, clang::OpenMPDefaultmapClauseKind Kind, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation MLoc, clang::SourceLocation KindLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDependClause(OMPDependClause::DependDataTy Data, clang::Expr * DepModifier, ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDepobjClause(clang::Expr * Depobj, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDestroyClause(clang::Expr * InteropVar, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDetachClause(clang::Expr * Evt, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDeviceClause(clang::OpenMPDeviceClauseModifier Modifier, clang::Expr * Device, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ModifierLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPDistScheduleClause(clang::OpenMPDistScheduleClauseKind Kind, clang::Expr * ChunkSize, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation KindLoc, clang::SourceLocation CommaLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPExclusiveClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::StmtResult RebuildOMPExecutableDirective(clang::OpenMPDirectiveKind Kind, clang::DeclarationNameInfo DirName, clang::OpenMPDirectiveKind CancelRegion, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPFilterClause(clang::Expr * ThreadID, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPFinalClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPFirstprivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPFlushClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPFromClause(ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers, ArrayRef<clang::SourceLocation> MotionModifiersLoc, clang::CXXScopeSpec & MapperIdScopeSpec, clang::DeclarationNameInfo & MapperId, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> UnresolvedMappers)
- public clang::OMPClause * RebuildOMPFullClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPGrainsizeClause(clang::Expr * Grainsize, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPHasDeviceAddrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
- public clang::OMPClause * RebuildOMPHintClause(clang::Expr * Hint, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPIfClause(clang::OpenMPDirectiveKind NameModifier, clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation NameModifierLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPInReductionClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions)
- public clang::OMPClause * RebuildOMPInclusiveClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPInitClause(clang::Expr * InteropVar, ArrayRef<clang::Expr *> PrefExprs, bool IsTarget, bool IsTargetSync, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPIsDevicePtrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
- public clang::ExprResult RebuildOMPIteratorExpr(clang::SourceLocation IteratorKwLoc, clang::SourceLocation LLoc, clang::SourceLocation RLoc, ArrayRef<Sema::OMPIteratorData> Data)
- public clang::OMPClause * RebuildOMPLastprivateClause(ArrayRef<clang::Expr *> VarList, clang::OpenMPLastprivateModifier LPKind, clang::SourceLocation LPKindLoc, clang::SourceLocation ColonLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPLinearClause(ArrayRef<clang::Expr *> VarList, clang::Expr * Step, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::OpenMPLinearClauseKind Modifier, clang::SourceLocation ModifierLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPMapClause(ArrayRef<clang::OpenMPMapModifierKind> MapTypeModifiers, ArrayRef<clang::SourceLocation> MapTypeModifiersLoc, clang::CXXScopeSpec MapperIdScopeSpec, clang::DeclarationNameInfo MapperId, clang::OpenMPMapClauseKind MapType, bool IsMapTypeImplicit, clang::SourceLocation MapLoc, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> UnresolvedMappers)
- public clang::OMPClause * RebuildOMPNocontextClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPNontemporalClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPNovariantsClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPNumTasksClause(clang::Expr * NumTasks, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPNumTeamsClause(clang::Expr * NumTeams, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPNumThreadsClause(clang::Expr * NumThreads, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPOrderClause(clang::OpenMPOrderClauseKind Kind, clang::SourceLocation KindKwLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPOrderedClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::SourceLocation LParenLoc, clang::Expr * Num)
- public clang::OMPClause * RebuildOMPPartialClause(clang::Expr * Factor, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPPriorityClause(clang::Expr * Priority, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPPrivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPProcBindClause(llvm::omp::ProcBindKind Kind, clang::SourceLocation KindKwLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPReductionClause(ArrayRef<clang::Expr *> VarList, clang::OpenMPReductionClauseModifier Modifier, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ModifierLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions)
- public clang::OMPClause * RebuildOMPSafelenClause(clang::Expr * Len, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPScheduleClause(clang::OpenMPScheduleClauseModifier M1, clang::OpenMPScheduleClauseModifier M2, clang::OpenMPScheduleClauseKind Kind, clang::Expr * ChunkSize, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation M1Loc, clang::SourceLocation M2Loc, clang::SourceLocation KindLoc, clang::SourceLocation CommaLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPSharedClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPSimdlenClause(clang::Expr * Len, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPSizesClause(ArrayRef<clang::Expr *> Sizes, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPTaskReductionClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions)
- public clang::OMPClause * RebuildOMPThreadLimitClause(clang::Expr * ThreadLimit, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPToClause(ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers, ArrayRef<clang::SourceLocation> MotionModifiersLoc, clang::CXXScopeSpec & MapperIdScopeSpec, clang::DeclarationNameInfo & MapperId, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> UnresolvedMappers)
- public clang::OMPClause * RebuildOMPUseClause(clang::Expr * InteropVar, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
- public clang::OMPClause * RebuildOMPUseDeviceAddrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
- public clang::OMPClause * RebuildOMPUseDevicePtrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
- public clang::OMPClause * RebuildOMPUsesAllocatorsClause(ArrayRef<Sema::UsesAllocatorsData> Data, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
- public clang::ExprResult RebuildObjCArrayLiteral(clang::SourceRange Range, clang::Expr ** Elements, unsigned int NumElements)
- public clang::StmtResult RebuildObjCAtCatchStmt(clang::SourceLocation AtLoc, clang::SourceLocation RParenLoc, clang::VarDecl * Var, clang::Stmt * Body)
- public clang::StmtResult RebuildObjCAtFinallyStmt(clang::SourceLocation AtLoc, clang::Stmt * Body)
- public clang::ExprResult RebuildObjCAtSynchronizedOperand(clang::SourceLocation atLoc, clang::Expr * object)
- public clang::StmtResult RebuildObjCAtSynchronizedStmt(clang::SourceLocation AtLoc, clang::Expr * Object, clang::Stmt * Body)
- public clang::StmtResult RebuildObjCAtThrowStmt(clang::SourceLocation AtLoc, clang::Expr * Operand)
- public clang::StmtResult RebuildObjCAtTryStmt(clang::SourceLocation AtLoc, clang::Stmt * TryBody, clang::MultiStmtArg CatchStmts, clang::Stmt * Finally)
- public clang::StmtResult RebuildObjCAutoreleasePoolStmt(clang::SourceLocation AtLoc, clang::Stmt * Body)
- public clang::ExprResult RebuildObjCBoxedExpr(clang::SourceRange SR, clang::Expr * ValueExpr)
- public clang::ExprResult RebuildObjCDictionaryLiteral(clang::SourceRange Range, MutableArrayRef<clang::ObjCDictionaryElement> Elements)
- public clang::ExprResult RebuildObjCEncodeExpr(clang::SourceLocation AtLoc, clang::TypeSourceInfo * EncodeTypeInfo, clang::SourceLocation RParenLoc)
- public clang::VarDecl * RebuildObjCExceptionDecl(clang::VarDecl * ExceptionDecl, clang::TypeSourceInfo * TInfo, clang::QualType T)
- public clang::StmtResult RebuildObjCForCollectionStmt(clang::SourceLocation ForLoc, clang::Stmt * Element, clang::Expr * Collection, clang::SourceLocation RParenLoc, clang::Stmt * Body)
- public clang::ExprResult RebuildObjCIsaExpr(clang::Expr * BaseArg, clang::SourceLocation IsaLoc, clang::SourceLocation OpLoc, bool IsArrow)
- public clang::ExprResult RebuildObjCIvarRefExpr(clang::Expr * BaseArg, clang::ObjCIvarDecl * Ivar, clang::SourceLocation IvarLoc, bool IsArrow, bool IsFreeIvar)
- public clang::ExprResult RebuildObjCMessageExpr(clang::TypeSourceInfo * ReceiverTypeInfo, clang::Selector Sel, ArrayRef<clang::SourceLocation> SelectorLocs, clang::ObjCMethodDecl * Method, clang::SourceLocation LBracLoc, clang::MultiExprArg Args, clang::SourceLocation RBracLoc)
- public clang::ExprResult RebuildObjCMessageExpr(clang::Expr * Receiver, clang::Selector Sel, ArrayRef<clang::SourceLocation> SelectorLocs, clang::ObjCMethodDecl * Method, clang::SourceLocation LBracLoc, clang::MultiExprArg Args, clang::SourceLocation RBracLoc)
- public clang::ExprResult RebuildObjCMessageExpr(clang::SourceLocation SuperLoc, clang::Selector Sel, ArrayRef<clang::SourceLocation> SelectorLocs, clang::QualType SuperType, clang::ObjCMethodDecl * Method, clang::SourceLocation LBracLoc, clang::MultiExprArg Args, clang::SourceLocation RBracLoc)
- public clang::QualType RebuildObjCObjectPointerType(clang::QualType PointeeType, clang::SourceLocation Star)
- public clang::QualType RebuildObjCObjectType(clang::QualType BaseType, clang::SourceLocation Loc, clang::SourceLocation TypeArgsLAngleLoc, ArrayRef<clang::TypeSourceInfo *> TypeArgs, clang::SourceLocation TypeArgsRAngleLoc, clang::SourceLocation ProtocolLAngleLoc, ArrayRef<clang::ObjCProtocolDecl *> Protocols, ArrayRef<clang::SourceLocation> ProtocolLocs, clang::SourceLocation ProtocolRAngleLoc)
- public clang::ExprResult RebuildObjCPropertyRefExpr(clang::Expr * Base, clang::QualType T, clang::ObjCMethodDecl * Getter, clang::ObjCMethodDecl * Setter, clang::SourceLocation PropertyLoc)
- public clang::ExprResult RebuildObjCPropertyRefExpr(clang::Expr * BaseArg, clang::ObjCPropertyDecl * Property, clang::SourceLocation PropertyLoc)
- public clang::ExprResult RebuildObjCSubscriptRefExpr(clang::SourceLocation RB, clang::Expr * Base, clang::Expr * Key, clang::ObjCMethodDecl * getterMethod, clang::ObjCMethodDecl * setterMethod)
- public clang::QualType RebuildObjCTypeParamType(const clang::ObjCTypeParamDecl * Decl, clang::SourceLocation ProtocolLAngleLoc, ArrayRef<clang::ObjCProtocolDecl *> Protocols, ArrayRef<clang::SourceLocation> ProtocolLocs, clang::SourceLocation ProtocolRAngleLoc)
- public clang::ExprResult RebuildOffsetOfExpr(clang::SourceLocation OperatorLoc, clang::TypeSourceInfo * Type, ArrayRef<Sema::OffsetOfComponent> Components, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildPackExpansion(clang::Expr * Pattern, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
- public clang::TemplateArgumentLoc RebuildPackExpansion(clang::TemplateArgumentLoc Pattern, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
- public clang::QualType RebuildPackExpansionType(clang::QualType Pattern, clang::SourceRange PatternRange, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
- public clang::ExprResult RebuildParenExpr(clang::Expr * SubExpr, clang::SourceLocation LParen, clang::SourceLocation RParen)
- public clang::ExprResult RebuildParenListExpr(clang::SourceLocation LParenLoc, clang::MultiExprArg SubExprs, clang::SourceLocation RParenLoc)
- public clang::QualType RebuildParenType(clang::QualType InnerType)
- public clang::QualType RebuildPipeType(clang::QualType ValueType, clang::SourceLocation KWLoc, bool isReadPipe)
- public clang::QualType RebuildPointerType(clang::QualType PointeeType, clang::SourceLocation Sigil)
- public clang::ExprResult RebuildPredefinedExpr(clang::SourceLocation Loc, PredefinedExpr::IdentKind IK)
- public clang::QualType RebuildQualifiedType(clang::QualType T, clang::QualifiedTypeLoc TL)
- public clang::QualType RebuildRecordType(clang::RecordDecl * Record)
- public clang::ExprResult RebuildRecoveryExpr(clang::SourceLocation BeginLoc, clang::SourceLocation EndLoc, ArrayRef<clang::Expr *> SubExprs, clang::QualType Type)
- public clang::QualType RebuildReferenceType(clang::QualType ReferentType, bool LValue, clang::SourceLocation Sigil)
- public clang::ExprResult RebuildRequiresExpr(clang::SourceLocation RequiresKWLoc, clang::RequiresExprBodyDecl * Body, ArrayRef<clang::ParmVarDecl *> LocalParameters, ArrayRef<concepts::Requirement *> Requirements, clang::SourceLocation ClosingBraceLoc)
- public clang::StmtResult RebuildReturnStmt(clang::SourceLocation ReturnLoc, clang::Expr * Result)
- public clang::StmtResult RebuildSEHExceptStmt(clang::SourceLocation Loc, clang::Expr * FilterExpr, clang::Stmt * Block)
- public clang::StmtResult RebuildSEHFinallyStmt(clang::SourceLocation Loc, clang::Stmt * Block)
- public clang::StmtResult RebuildSEHTryStmt(bool IsCXXTry, clang::SourceLocation TryLoc, clang::Stmt * TryBlock, clang::Stmt * Handler)
- public clang::ExprResult RebuildSYCLUniqueStableNameExpr(clang::SourceLocation OpLoc, clang::SourceLocation LParen, clang::SourceLocation RParen, clang::TypeSourceInfo * TSI)
- public clang::ExprResult RebuildShuffleVectorExpr(clang::SourceLocation BuiltinLoc, clang::MultiExprArg SubExprs, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildSizeOfPackExpr(clang::SourceLocation OperatorLoc, clang::NamedDecl * Pack, clang::SourceLocation PackLoc, clang::SourceLocation RParenLoc, Optional<unsigned int> Length, ArrayRef<clang::TemplateArgument> PartialArgs)
- public clang::ExprResult RebuildSourceLocExpr(SourceLocExpr::IdentKind Kind, clang::QualType ResultTy, clang::SourceLocation BuiltinLoc, clang::SourceLocation RPLoc, clang::DeclContext * ParentContext)
- public clang::ExprResult RebuildStmtExpr(clang::SourceLocation LParenLoc, clang::Stmt * SubStmt, clang::SourceLocation RParenLoc, unsigned int TemplateDepth)
- public clang::StmtResult RebuildSwitchStmtBody(clang::SourceLocation SwitchLoc, clang::Stmt * Switch, clang::Stmt * Body)
- public clang::StmtResult RebuildSwitchStmtStart(clang::SourceLocation SwitchLoc, clang::SourceLocation LParenLoc, clang::Stmt * Init, Sema::ConditionResult Cond, clang::SourceLocation RParenLoc)
- public clang::ExprResult RebuildTemplateIdExpr(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::LookupResult & R, bool RequiresADL, const clang::TemplateArgumentListInfo * TemplateArgs)
- public clang::TemplateName RebuildTemplateName(clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::IdentifierInfo & Name, clang::SourceLocation NameLoc, clang::QualType ObjectType, clang::NamedDecl * FirstQualifierInScope, bool AllowInjectedClassName)
- public clang::TemplateName RebuildTemplateName(clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::OverloadedOperatorKind Operator, clang::SourceLocation NameLoc, clang::QualType ObjectType, bool AllowInjectedClassName)
- public clang::TemplateName RebuildTemplateName(clang::TemplateTemplateParmDecl * Param, const clang::TemplateArgument & ArgPack)
- public clang::TemplateName RebuildTemplateName(clang::CXXScopeSpec & SS, bool TemplateKW, clang::TemplateDecl * Template)
- public clang::QualType RebuildTemplateSpecializationType(clang::TemplateName Template, clang::SourceLocation TemplateLoc, clang::TemplateArgumentListInfo & Args)
- public clang::QualType RebuildTypeOfExprType(clang::Expr * Underlying, clang::SourceLocation Loc)
- public clang::QualType RebuildTypeOfType(clang::QualType Underlying)
- public concepts::TypeRequirement * RebuildTypeRequirement(concepts::Requirement::SubstitutionDiagnostic * SubstDiag)
- public concepts::TypeRequirement * RebuildTypeRequirement(clang::TypeSourceInfo * T)
- public clang::ExprResult RebuildTypeTrait(clang::TypeTrait Trait, clang::SourceLocation StartLoc, ArrayRef<clang::TypeSourceInfo *> Args, clang::SourceLocation RParenLoc)
- public clang::QualType RebuildTypedefType(clang::TypedefNameDecl * Typedef)
- public clang::ExprResult RebuildUnaryExprOrTypeTrait(clang::TypeSourceInfo * TInfo, clang::SourceLocation OpLoc, clang::UnaryExprOrTypeTrait ExprKind, clang::SourceRange R)
- public clang::ExprResult RebuildUnaryExprOrTypeTrait(clang::Expr * SubExpr, clang::SourceLocation OpLoc, clang::UnaryExprOrTypeTrait ExprKind, clang::SourceRange R)
- public clang::ExprResult RebuildUnaryOperator(clang::SourceLocation OpLoc, clang::UnaryOperatorKind Opc, clang::Expr * SubExpr)
- public clang::QualType RebuildUnaryTransformType(clang::QualType BaseType, UnaryTransformType::UTTKind UKind, clang::SourceLocation Loc)
- public clang::ExprResult RebuildUnresolvedMemberExpr(clang::Expr * BaseE, clang::QualType BaseType, clang::SourceLocation OperatorLoc, bool IsArrow, clang::NestedNameSpecifierLoc QualifierLoc, clang::SourceLocation TemplateKWLoc, clang::NamedDecl * FirstQualifierInScope, clang::LookupResult & R, const clang::TemplateArgumentListInfo * TemplateArgs)
- public clang::QualType RebuildUnresolvedUsingType(clang::SourceLocation NameLoc, clang::Decl * D)
- public clang::QualType RebuildUsingType(clang::UsingShadowDecl * Found, clang::QualType Underlying)
- public clang::ExprResult RebuildVAArgExpr(clang::SourceLocation BuiltinLoc, clang::Expr * SubExpr, clang::TypeSourceInfo * TInfo, clang::SourceLocation RParenLoc)
- public clang::QualType RebuildVariableArrayType(clang::QualType ElementType, ArrayType::ArraySizeModifier SizeMod, clang::Expr * SizeExpr, unsigned int IndexTypeQuals, clang::SourceRange BracketsRange)
- public clang::QualType RebuildVectorType(clang::QualType ElementType, unsigned int NumElements, VectorType::VectorKind VecKind)
- public clang::StmtResult RebuildWhileStmt(clang::SourceLocation WhileLoc, clang::SourceLocation LParenLoc, Sema::ConditionResult Cond, clang::SourceLocation RParenLoc, clang::Stmt * Body)
- public void RememberPartiallySubstitutedPack(clang::TemplateArgument Arg)
- public bool ReplacingOriginal()
- public clang::StmtResult SkipLambdaBody(clang::LambdaExpr * E, clang::Stmt * Body)
- public clang::ExprResult TransformAddressOfOperand(clang::Expr * E)
- public const clang::Attr * TransformAttr(const clang::Attr * S)
- public clang::ExprResult TransformCXXNamedCastExpr(clang::CXXNamedCastExpr * E)
- public clang::StmtResult TransformCompoundStmt(clang::CompoundStmt * S, bool IsStmtExpr)
- public Sema::ConditionResult TransformCondition(clang::SourceLocation Loc, clang::VarDecl * Var, clang::Expr * Expr, Sema::ConditionKind Kind)
- public clang::Decl * TransformDecl(clang::SourceLocation Loc, clang::Decl * D)
- public clang::DeclarationNameInfo TransformDeclarationNameInfo(const clang::DeclarationNameInfo & NameInfo)
- public clang::Decl * TransformDefinition(clang::SourceLocation Loc, clang::Decl * D)
- private clang::QualType TransformDependentNameType(clang::TypeLocBuilder & TLB, clang::DependentNameTypeLoc TL, bool DeducibleTSTContext)
- public clang::ExprResult TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr * E, bool IsAddressOfOperand, clang::TypeSourceInfo ** RecoveryTSI)
- public clang::QualType TransformDependentTemplateSpecializationType(clang::TypeLocBuilder & TLB, clang::DependentTemplateSpecializationTypeLoc TL, clang::TemplateName Template, clang::CXXScopeSpec & SS)
- public clang::QualType TransformDependentTemplateSpecializationType(clang::TypeLocBuilder & TLB, clang::DependentTemplateSpecializationTypeLoc TL, clang::NestedNameSpecifierLoc QualifierLoc)
- public bool TransformExceptionSpec(clang::SourceLocation Loc, FunctionProtoType::ExceptionSpecInfo & ESI, SmallVectorImpl<clang::QualType> & Exceptions, bool & Changed)
- public clang::ExprResult TransformExpr(clang::Expr * E)
- public concepts::ExprRequirement * TransformExprRequirement(concepts::ExprRequirement * Req)
- public bool TransformExprs(clang::Expr *const * Inputs, unsigned int NumInputs, bool IsCall, SmallVectorImpl<clang::Expr *> & Outputs, bool * ArgChanged = nullptr)
- public clang::NamedDecl * TransformFirstQualifierInScope(clang::NamedDecl * D, clang::SourceLocation Loc)
- public template <typename Fn>clang::QualType TransformFunctionProtoType(clang::TypeLocBuilder & TLB, clang::FunctionProtoTypeLoc TL, clang::CXXRecordDecl * ThisContext, clang::Qualifiers ThisTypeQuals, Fn TransformExceptionSpec)
- public clang::ParmVarDecl * TransformFunctionTypeParam(clang::ParmVarDecl * OldParm, int indexAdjustment, Optional<unsigned int> NumExpansions, bool ExpectParameterPack)
- public bool TransformFunctionTypeParams(clang::SourceLocation Loc, ArrayRef<clang::ParmVarDecl *> Params, const clang::QualType * ParamTypes, const FunctionProtoType::ExtParameterInfo * ParamInfos, SmallVectorImpl<clang::QualType> & PTypes, SmallVectorImpl<clang::ParmVarDecl *> * PVars, Sema::ExtParameterInfoBuilder & PInfos)
- public clang::ExprResult TransformInitializer(clang::Expr * Init, bool NotCopyInit)
- public clang::StmtResult TransformLambdaBody(clang::LambdaExpr * E, clang::Stmt * Body)
- public clang::NestedNameSpecifierLoc TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc NNS, clang::QualType ObjectType = clang::QualType(), clang::NamedDecl * FirstQualifierInScope = nullptr)
- public concepts::NestedRequirement * TransformNestedRequirement(concepts::NestedRequirement * Req)
- public clang::OMPClause * TransformOMPClause(clang::OMPClause * S)
- public clang::StmtResult TransformOMPExecutableDirective(clang::OMPExecutableDirective * S)
- public bool TransformOverloadExprDecls(clang::OverloadExpr * Old, bool RequiresADL, clang::LookupResult & R)
- public clang::ExprResult TransformParenDependentScopeDeclRefExpr(clang::ParenExpr * PE, clang::DependentScopeDeclRefExpr * DRE, bool IsAddressOfOperand, clang::TypeSourceInfo ** RecoveryTSI)
- public clang::QualType TransformReferenceType(clang::TypeLocBuilder & TLB, clang::ReferenceTypeLoc TL)
- public bool TransformRequiresExprRequirements(ArrayRef<concepts::Requirement *> Reqs, llvm::SmallVectorImpl<concepts::Requirement *> & Transformed)
- public clang::StmtResult TransformSEHHandler(clang::Stmt * Handler)
- public clang::StmtResult TransformStmt(clang::Stmt * S, clang::TreeTransform::StmtDiscardKind SDK = SDK_Discarded)
- private clang::TypeSourceInfo * TransformTSIInObjectScope(clang::TypeLoc TL, clang::QualType ObjectType, clang::NamedDecl * FirstQualifierInScope, clang::CXXScopeSpec & SS)
- public bool TransformTemplateArgument(const clang::TemplateArgumentLoc & Input, clang::TemplateArgumentLoc & Output, bool Uneval = false)
- public bool TransformTemplateArguments(const clang::TemplateArgumentLoc * Inputs, unsigned int NumInputs, clang::TemplateArgumentListInfo & Outputs, bool Uneval = false)
- public template <typename InputIterator>bool TransformTemplateArguments(InputIterator First, InputIterator Last, clang::TemplateArgumentListInfo & Outputs, bool Uneval = false)
- public unsigned int TransformTemplateDepth(unsigned int Depth)
- public clang::TemplateName TransformTemplateName(clang::CXXScopeSpec & SS, clang::TemplateName Name, clang::SourceLocation NameLoc, clang::QualType ObjectType = clang::QualType(), clang::NamedDecl * FirstQualifierInScope = nullptr, bool AllowInjectedClassName = false)
- public clang::TemplateParameterList * TransformTemplateParameterList(clang::TemplateParameterList * TPL)
- public clang::QualType TransformTemplateSpecializationType(clang::TypeLocBuilder & TLB, clang::TemplateSpecializationTypeLoc TL, clang::TemplateName Template)
- public clang::TypeSourceInfo * TransformType(clang::TypeSourceInfo * DI)
- public clang::QualType TransformType(clang::QualType T)
- public clang::QualType TransformType(clang::TypeLocBuilder & TLB, clang::TypeLoc TL)
- private clang::TypeLoc TransformTypeInObjectScope(clang::TypeLoc TL, clang::QualType ObjectType, clang::NamedDecl * FirstQualifierInScope, clang::CXXScopeSpec & SS)
- private clang::TypeSourceInfo * TransformTypeInObjectScope(clang::TypeSourceInfo * TSInfo, clang::QualType ObjectType, clang::NamedDecl * FirstQualifierInScope, clang::CXXScopeSpec & SS)
- public concepts::TypeRequirement * TransformTypeRequirement(concepts::TypeRequirement * Req)
- public clang::QualType TransformTypeWithDeducedTST(clang::QualType T)
- public clang::TypeSourceInfo * TransformTypeWithDeducedTST(clang::TypeSourceInfo * DI)
- public TreeTransform<Derived>(clang::Sema & SemaRef)
- public bool TryExpandParameterPacks(clang::SourceLocation EllipsisLoc, clang::SourceRange PatternRange, ArrayRef<clang::UnexpandedParameterPack> Unexpanded, bool & ShouldExpand, bool & RetainExpansion, Optional<unsigned int> & NumExpansions)
- public clang::DeclarationName getBaseEntity()
- public clang::SourceLocation getBaseLocation()
- public const Derived & getDerived() const
- public Derived & getDerived()
- public clang::Sema & getSema() const
- public void setBase(clang::SourceLocation Loc, clang::DeclarationName Entity)
- public void transformAttrs(clang::Decl * Old, clang::Decl * New)
- public void transformedLocalDecl(clang::Decl * Old, ArrayRef<clang::Decl *> New)
Methods
¶bool AllowSkippingCXXConstructExpr()
bool AllowSkippingCXXConstructExpr()
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:167
¶bool AlreadyTransformed(clang::QualType T)
bool AlreadyTransformed(clang::QualType T)
Description
Determine whether the given type \p 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.
Declared at: clang/lib/Sema/TreeTransform.h:220
Parameters
¶bool AlwaysRebuild()
bool AlwaysRebuild()
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:155
¶bool DropCallArgument(clang::Expr* E)
bool DropCallArgument(clang::Expr* E)
Description
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).
Declared at: clang/lib/Sema/TreeTransform.h:238
Parameters
- clang::Expr* E
¶void ExpandingFunctionParameterPack(
clang::ParmVarDecl* Pack)
void ExpandingFunctionParameterPack(
clang::ParmVarDecl* Pack)
Description
Note to the derived class when a function parameter pack is being expanded.
Declared at: clang/lib/Sema/TreeTransform.h:307
Parameters
- clang::ParmVarDecl* Pack
¶clang::StmtResult FinishCXXForRangeStmt(
clang::Stmt* ForRange,
clang::Stmt* Body)
clang::StmtResult FinishCXXForRangeStmt(
clang::Stmt* ForRange,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2453
Parameters
- clang::Stmt* ForRange
- clang::Stmt* Body
¶clang::TemplateArgument
ForgetPartiallySubstitutedPack()
clang::TemplateArgument
ForgetPartiallySubstitutedPack()
Description
"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.
Declared at: clang/lib/Sema/TreeTransform.h:294
¶void InventTemplateArgumentLoc(
const clang::TemplateArgument& Arg,
clang::TemplateArgumentLoc& ArgLoc)
void InventTemplateArgumentLoc(
const clang::TemplateArgument& Arg,
clang::TemplateArgumentLoc& ArgLoc)
Description
Fakes up a TemplateArgumentLoc for a given TemplateArgument.
Declared at: clang/lib/Sema/TreeTransform.h:625
Parameters
- const clang::TemplateArgument& Arg
- clang::TemplateArgumentLoc& ArgLoc
¶clang::TypeSourceInfo* InventTypeSourceInfo(
clang::QualType T)
clang::TypeSourceInfo* InventTypeSourceInfo(
clang::QualType T)
Description
Fakes up a TypeSourceInfo for a type.
Declared at: clang/lib/Sema/TreeTransform.h:629
Parameters
¶static inline clang::ExprResult Owned(
clang::Expr* E)
static inline clang::ExprResult Owned(
clang::Expr* E)
Declared at: clang/lib/Sema/TreeTransform.h:139
Parameters
- clang::Expr* E
¶static inline clang::StmtResult Owned(
clang::Stmt* S)
static inline clang::StmtResult Owned(
clang::Stmt* S)
Declared at: clang/lib/Sema/TreeTransform.h:140
Parameters
- clang::Stmt* S
¶clang::ExprResult RebuildAddrLabelExpr(
clang::SourceLocation AmpAmpLoc,
clang::SourceLocation LabelLoc,
clang::LabelDecl* Label)
clang::ExprResult RebuildAddrLabelExpr(
clang::SourceLocation AmpAmpLoc,
clang::SourceLocation LabelLoc,
clang::LabelDecl* Label)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2866
Parameters
- clang::SourceLocation AmpAmpLoc
- clang::SourceLocation LabelLoc
- clang::LabelDecl* Label
¶clang::ExprResult RebuildArraySubscriptExpr(
clang::Expr* LHS,
clang::SourceLocation LBracketLoc,
clang::Expr* RHS,
clang::SourceLocation RBracketLoc)
clang::ExprResult RebuildArraySubscriptExpr(
clang::Expr* LHS,
clang::SourceLocation LBracketLoc,
clang::Expr* RHS,
clang::SourceLocation RBracketLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2589
Parameters
- clang::Expr* LHS
- clang::SourceLocation LBracketLoc
- clang::Expr* RHS
- clang::SourceLocation RBracketLoc
¶clang::QualType RebuildArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
const llvm::APInt* Size,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
clang::QualType RebuildArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
const llvm::APInt* Size,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
Description
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
Declared at: clang/lib/Sema/TreeTransform.h:814
Parameters
- clang::QualType ElementType
- ArrayType::ArraySizeModifier SizeMod
- const llvm::APInt* Size
- clang::Expr* SizeExpr
- unsigned int IndexTypeQuals
- clang::SourceRange BracketsRange
¶clang::ExprResult RebuildArrayTypeTrait(
clang::ArrayTypeTrait Trait,
clang::SourceLocation StartLoc,
clang::TypeSourceInfo* TSInfo,
clang::Expr* DimExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildArrayTypeTrait(
clang::ArrayTypeTrait Trait,
clang::SourceLocation StartLoc,
clang::TypeSourceInfo* TSInfo,
clang::Expr* DimExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3218
Parameters
- clang::ArrayTypeTrait Trait
- clang::SourceLocation StartLoc
- clang::TypeSourceInfo* TSInfo
- clang::Expr* DimExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildAtomicExpr(
clang::SourceLocation BuiltinLoc,
clang::MultiExprArg SubExprs,
AtomicExpr::AtomicOp Op,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildAtomicExpr(
clang::SourceLocation BuiltinLoc,
clang::MultiExprArg SubExprs,
AtomicExpr::AtomicOp Op,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3788
Parameters
- clang::SourceLocation BuiltinLoc
- clang::MultiExprArg SubExprs
- AtomicExpr::AtomicOp Op
- clang::SourceLocation RParenLoc
¶clang::QualType RebuildAtomicType(
clang::QualType ValueType,
clang::SourceLocation KWLoc)
clang::QualType RebuildAtomicType(
clang::QualType ValueType,
clang::SourceLocation KWLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1197
Parameters
- clang::QualType ValueType
- clang::SourceLocation KWLoc
¶clang::StmtResult RebuildAttributedStmt(
clang::SourceLocation AttrLoc,
ArrayRef<const clang::Attr*> Attrs,
clang::Stmt* SubStmt)
clang::StmtResult RebuildAttributedStmt(
clang::SourceLocation AttrLoc,
ArrayRef<const clang::Attr*> Attrs,
clang::Stmt* SubStmt)
Description
Build a new attributed statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1318
Parameters
- clang::SourceLocation AttrLoc
- ArrayRef<const clang::Attr*> Attrs
- clang::Stmt* SubStmt
¶clang::QualType RebuildAutoType(
clang::QualType Deduced,
clang::AutoTypeKeyword Keyword,
clang::ConceptDecl* TypeConstraintConcept,
ArrayRef<clang::TemplateArgument>
TypeConstraintArgs)
clang::QualType RebuildAutoType(
clang::QualType Deduced,
clang::AutoTypeKeyword Keyword,
clang::ConceptDecl* TypeConstraintConcept,
ArrayRef<clang::TemplateArgument>
TypeConstraintArgs)
Description
Build a new C++11 auto type. By default, builds a new AutoType with the given deduced type.
Declared at: clang/lib/Sema/TreeTransform.h:987
Parameters
- clang::QualType Deduced
- clang::AutoTypeKeyword Keyword
- clang::ConceptDecl* TypeConstraintConcept
- ArrayRef<clang::TemplateArgument> TypeConstraintArgs
¶clang::ExprResult RebuildBinaryOperator(
clang::SourceLocation OpLoc,
clang::BinaryOperatorKind Opc,
clang::Expr* LHS,
clang::Expr* RHS)
clang::ExprResult RebuildBinaryOperator(
clang::SourceLocation OpLoc,
clang::BinaryOperatorKind Opc,
clang::Expr* LHS,
clang::Expr* RHS)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2728
Parameters
- clang::SourceLocation OpLoc
- clang::BinaryOperatorKind Opc
- clang::Expr* LHS
- clang::Expr* RHS
¶clang::QualType RebuildBitIntType(
bool IsUnsigned,
unsigned int NumBits,
clang::SourceLocation Loc)
clang::QualType RebuildBitIntType(
bool IsUnsigned,
unsigned int NumBits,
clang::SourceLocation Loc)
Description
Build a bit-precise int given its value type.
Declared at: clang/lib/Sema/TreeTransform.h:1204
Parameters
- bool IsUnsigned
- unsigned int NumBits
- clang::SourceLocation Loc
¶clang::QualType RebuildBlockPointerType(
clang::QualType PointeeType,
clang::SourceLocation Sigil)
clang::QualType RebuildBlockPointerType(
clang::QualType PointeeType,
clang::SourceLocation Sigil)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:758
Parameters
- clang::QualType PointeeType
- clang::SourceLocation Sigil
¶clang::ExprResult RebuildBuiltinBitCastExpr(
clang::SourceLocation KWLoc,
clang::TypeSourceInfo* TSI,
clang::Expr* Sub,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildBuiltinBitCastExpr(
clang::SourceLocation KWLoc,
clang::TypeSourceInfo* TSI,
clang::Expr* Sub,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3062
Parameters
- clang::SourceLocation KWLoc
- clang::TypeSourceInfo* TSI
- clang::Expr* Sub
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCStyleCastExpr(
clang::SourceLocation LParenLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc,
clang::Expr* SubExpr)
clang::ExprResult RebuildCStyleCastExpr(
clang::SourceLocation LParenLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc,
clang::Expr* SubExpr)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2762
Parameters
- clang::SourceLocation LParenLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RParenLoc
- clang::Expr* SubExpr
¶clang::ExprResult RebuildCXXAddrspaceCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXAddrspaceCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Declared at: clang/lib/Sema/TreeTransform.h:3035
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::StmtResult RebuildCXXCatchStmt(
clang::SourceLocation CatchLoc,
clang::VarDecl* ExceptionDecl,
clang::Stmt* Handler)
clang::StmtResult RebuildCXXCatchStmt(
clang::SourceLocation CatchLoc,
clang::VarDecl* ExceptionDecl,
clang::Stmt* Handler)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2380
Parameters
- clang::SourceLocation CatchLoc
- clang::VarDecl* ExceptionDecl
- clang::Stmt* Handler
¶clang::ExprResult RebuildCXXConstCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXConstCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3021
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXConstructExpr(
clang::QualType T,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Constructor,
bool IsElidable,
clang::MultiExprArg Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool RequiresZeroInit,
CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenRange)
clang::ExprResult RebuildCXXConstructExpr(
clang::QualType T,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Constructor,
bool IsElidable,
clang::MultiExprArg Args,
bool HadMultipleCandidates,
bool ListInitialization,
bool StdInitListInitialization,
bool RequiresZeroInit,
CXXConstructExpr::ConstructionKind
ConstructKind,
clang::SourceRange ParenRange)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3277
Parameters
- clang::QualType T
- clang::SourceLocation Loc
- clang::CXXConstructorDecl* Constructor
- bool IsElidable
- clang::MultiExprArg Args
- bool HadMultipleCandidates
- bool ListInitialization
- bool StdInitListInitialization
- bool RequiresZeroInit
- CXXConstructExpr::ConstructionKind ConstructKind
- clang::SourceRange ParenRange
¶clang::ExprResult RebuildCXXDefaultArgExpr(
clang::SourceLocation Loc,
clang::ParmVarDecl* Param)
clang::ExprResult RebuildCXXDefaultArgExpr(
clang::SourceLocation Loc,
clang::ParmVarDecl* Param)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3137
Parameters
- clang::SourceLocation Loc
- clang::ParmVarDecl* Param
¶clang::ExprResult RebuildCXXDefaultInitExpr(
clang::SourceLocation Loc,
clang::FieldDecl* Field)
clang::ExprResult RebuildCXXDefaultInitExpr(
clang::SourceLocation Loc,
clang::FieldDecl* Field)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3147
Parameters
- clang::SourceLocation Loc
- clang::FieldDecl* Field
¶clang::ExprResult RebuildCXXDeleteExpr(
clang::SourceLocation StartLoc,
bool IsGlobalDelete,
bool IsArrayForm,
clang::Expr* Operand)
clang::ExprResult RebuildCXXDeleteExpr(
clang::SourceLocation StartLoc,
bool IsGlobalDelete,
bool IsArrayForm,
clang::Expr* Operand)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3195
Parameters
- clang::SourceLocation StartLoc
- bool IsGlobalDelete
- bool IsArrayForm
- clang::Expr* Operand
¶clang::ExprResult
RebuildCXXDependentScopeMemberExpr(
clang::Expr* BaseE,
clang::QualType BaseType,
bool IsArrow,
clang::SourceLocation OperatorLoc,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
clang::NamedDecl* FirstQualifierInScope,
const clang::DeclarationNameInfo&
MemberNameInfo,
const clang::TemplateArgumentListInfo*
TemplateArgs)
clang::ExprResult
RebuildCXXDependentScopeMemberExpr(
clang::Expr* BaseE,
clang::QualType BaseType,
bool IsArrow,
clang::SourceLocation OperatorLoc,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
clang::NamedDecl* FirstQualifierInScope,
const clang::DeclarationNameInfo&
MemberNameInfo,
const clang::TemplateArgumentListInfo*
TemplateArgs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3349
Parameters
- clang::Expr* BaseE
- clang::QualType BaseType
- bool IsArrow
- clang::SourceLocation OperatorLoc
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- clang::NamedDecl* FirstQualifierInScope
- const clang::DeclarationNameInfo& MemberNameInfo
- const clang::TemplateArgumentListInfo* TemplateArgs
¶clang::ExprResult RebuildCXXDynamicCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXDynamicCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2987
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXFoldExpr(
clang::UnresolvedLookupExpr* ULE,
clang::SourceLocation LParenLoc,
clang::Expr* LHS,
clang::BinaryOperatorKind Operator,
clang::SourceLocation EllipsisLoc,
clang::Expr* RHS,
clang::SourceLocation RParenLoc,
Optional<unsigned int> NumExpansions)
clang::ExprResult RebuildCXXFoldExpr(
clang::UnresolvedLookupExpr* ULE,
clang::SourceLocation LParenLoc,
clang::Expr* LHS,
clang::BinaryOperatorKind Operator,
clang::SourceLocation EllipsisLoc,
clang::Expr* RHS,
clang::SourceLocation RParenLoc,
Optional<unsigned int> NumExpansions)
Description
Build a new C++1z fold-expression. By default, performs semantic analysis in order to build a new fold expression.
Declared at: clang/lib/Sema/TreeTransform.h:3764
Parameters
- clang::UnresolvedLookupExpr* ULE
- clang::SourceLocation LParenLoc
- clang::Expr* LHS
- clang::BinaryOperatorKind Operator
- clang::SourceLocation EllipsisLoc
- clang::Expr* RHS
- clang::SourceLocation RParenLoc
- Optional<unsigned int> NumExpansions
¶clang::StmtResult RebuildCXXForRangeStmt(
clang::SourceLocation ForLoc,
clang::SourceLocation CoawaitLoc,
clang::Stmt* Init,
clang::SourceLocation ColonLoc,
clang::Stmt* Range,
clang::Stmt* Begin,
clang::Stmt* End,
clang::Expr* Cond,
clang::Expr* Inc,
clang::Stmt* LoopVar,
clang::SourceLocation RParenLoc)
clang::StmtResult RebuildCXXForRangeStmt(
clang::SourceLocation ForLoc,
clang::SourceLocation CoawaitLoc,
clang::Stmt* Init,
clang::SourceLocation ColonLoc,
clang::Stmt* Range,
clang::Stmt* Begin,
clang::Stmt* End,
clang::Expr* Cond,
clang::Expr* Inc,
clang::Stmt* LoopVar,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2400
Parameters
- clang::SourceLocation ForLoc
- clang::SourceLocation CoawaitLoc
- clang::Stmt* Init
- clang::SourceLocation ColonLoc
- clang::Stmt* Range
- clang::Stmt* Begin
- clang::Stmt* End
- clang::Expr* Cond
- clang::Expr* Inc
- clang::Stmt* LoopVar
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXFunctionalCastExpr(
clang::TypeSourceInfo* TInfo,
clang::SourceLocation LParenLoc,
clang::Expr* Sub,
clang::SourceLocation RParenLoc,
bool ListInitialization)
clang::ExprResult RebuildCXXFunctionalCastExpr(
clang::TypeSourceInfo* TInfo,
clang::SourceLocation LParenLoc,
clang::Expr* Sub,
clang::SourceLocation RParenLoc,
bool ListInitialization)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3048
Parameters
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation LParenLoc
- clang::Expr* Sub
- clang::SourceLocation RParenLoc
- bool ListInitialization
¶clang::ExprResult RebuildCXXInheritedCtorInitExpr(
clang::QualType T,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Constructor,
bool ConstructsVBase,
bool InheritedFromVBase)
clang::ExprResult RebuildCXXInheritedCtorInitExpr(
clang::QualType T,
clang::SourceLocation Loc,
clang::CXXConstructorDecl* Constructor,
bool ConstructsVBase,
bool InheritedFromVBase)
Description
Build a new implicit construction via inherited constructor expression.
Declared at: clang/lib/Sema/TreeTransform.h:3311
Parameters
- clang::QualType T
- clang::SourceLocation Loc
- clang::CXXConstructorDecl* Constructor
- bool ConstructsVBase
- bool InheritedFromVBase
¶clang::ExprResult RebuildCXXNamedCastExpr(
clang::SourceLocation OpLoc,
Stmt::StmtClass Class,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXNamedCastExpr(
clang::SourceLocation OpLoc,
Stmt::StmtClass Class,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2927
Parameters
- clang::SourceLocation OpLoc
- Stmt::StmtClass Class
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXNewExpr(
clang::SourceLocation StartLoc,
bool UseGlobal,
clang::SourceLocation PlacementLParen,
clang::MultiExprArg PlacementArgs,
clang::SourceLocation PlacementRParen,
clang::SourceRange TypeIdParens,
clang::QualType AllocatedType,
clang::TypeSourceInfo* AllocatedTypeInfo,
Optional<clang::Expr*> ArraySize,
clang::SourceRange DirectInitRange,
clang::Expr* Initializer)
clang::ExprResult RebuildCXXNewExpr(
clang::SourceLocation StartLoc,
bool UseGlobal,
clang::SourceLocation PlacementLParen,
clang::MultiExprArg PlacementArgs,
clang::SourceLocation PlacementRParen,
clang::SourceRange TypeIdParens,
clang::QualType AllocatedType,
clang::TypeSourceInfo* AllocatedTypeInfo,
Optional<clang::Expr*> ArraySize,
clang::SourceRange DirectInitRange,
clang::Expr* Initializer)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3168
Parameters
- clang::SourceLocation StartLoc
- bool UseGlobal
- clang::SourceLocation PlacementLParen
- clang::MultiExprArg PlacementArgs
- clang::SourceLocation PlacementRParen
- clang::SourceRange TypeIdParens
- clang::QualType AllocatedType
- clang::TypeSourceInfo* AllocatedTypeInfo
- Optional<clang::Expr*> ArraySize
- clang::SourceRange DirectInitRange
- clang::Expr* Initializer
¶clang::ExprResult RebuildCXXNoexceptExpr(
clang::SourceRange Range,
clang::Expr* Arg)
clang::ExprResult RebuildCXXNoexceptExpr(
clang::SourceRange Range,
clang::Expr* Arg)
Description
Build a new noexcept expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:3395
Parameters
- clang::SourceRange Range
- clang::Expr* Arg
¶clang::ExprResult RebuildCXXOperatorCallExpr(
clang::OverloadedOperatorKind Op,
clang::SourceLocation OpLoc,
clang::Expr* Callee,
clang::Expr* First,
clang::Expr* Second)
clang::ExprResult RebuildCXXOperatorCallExpr(
clang::OverloadedOperatorKind Op,
clang::SourceLocation OpLoc,
clang::Expr* Callee,
clang::Expr* First,
clang::Expr* Second)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2915
Parameters
- clang::OverloadedOperatorKind Op
- clang::SourceLocation OpLoc
- clang::Expr* Callee
- clang::Expr* First
- clang::Expr* Second
¶clang::ExprResult RebuildCXXPseudoDestructorExpr(
clang::Expr* Base,
clang::SourceLocation OperatorLoc,
bool isArrow,
clang::CXXScopeSpec& SS,
clang::TypeSourceInfo* ScopeType,
clang::SourceLocation CCLoc,
clang::SourceLocation TildeLoc,
clang::PseudoDestructorTypeStorage Destroyed)
clang::ExprResult RebuildCXXPseudoDestructorExpr(
clang::Expr* Base,
clang::SourceLocation OperatorLoc,
bool isArrow,
clang::CXXScopeSpec& SS,
clang::TypeSourceInfo* ScopeType,
clang::SourceLocation CCLoc,
clang::SourceLocation TildeLoc,
clang::PseudoDestructorTypeStorage Destroyed)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2526
Parameters
- clang::Expr* Base
- clang::SourceLocation OperatorLoc
- bool isArrow
- clang::CXXScopeSpec& SS
- clang::TypeSourceInfo* ScopeType
- clang::SourceLocation CCLoc
- clang::SourceLocation TildeLoc
- clang::PseudoDestructorTypeStorage Destroyed
¶clang::ExprResult RebuildCXXReinterpretCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXReinterpretCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3004
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult
RebuildCXXRewrittenBinaryOperator(
clang::SourceLocation OpLoc,
clang::BinaryOperatorKind Opcode,
const clang::UnresolvedSetImpl& UnqualLookups,
clang::Expr* LHS,
clang::Expr* RHS)
clang::ExprResult
RebuildCXXRewrittenBinaryOperator(
clang::SourceLocation OpLoc,
clang::BinaryOperatorKind Opcode,
const clang::UnresolvedSetImpl& UnqualLookups,
clang::Expr* LHS,
clang::Expr* RHS)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2738
Parameters
- clang::SourceLocation OpLoc
- clang::BinaryOperatorKind Opcode
- const clang::UnresolvedSetImpl& UnqualLookups
- clang::Expr* LHS
- clang::Expr* RHS
¶clang::ExprResult RebuildCXXScalarValueInitExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXScalarValueInitExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3157
Parameters
- clang::TypeSourceInfo* TSInfo
- clang::SourceLocation LParenLoc
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXStaticCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXStaticCastExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LAngleLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RAngleLoc,
clang::SourceLocation LParenLoc,
clang::Expr* SubExpr,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2970
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LAngleLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RAngleLoc
- clang::SourceLocation LParenLoc
- clang::Expr* SubExpr
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXTemporaryObjectExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenOrBraceLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenOrBraceLoc,
bool ListInitialization)
clang::ExprResult RebuildCXXTemporaryObjectExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenOrBraceLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenOrBraceLoc,
bool ListInitialization)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3323
Parameters
- clang::TypeSourceInfo* TSInfo
- clang::SourceLocation LParenOrBraceLoc
- clang::MultiExprArg Args
- clang::SourceLocation RParenOrBraceLoc
- bool ListInitialization
¶clang::ExprResult RebuildCXXThisExpr(
clang::SourceLocation ThisLoc,
clang::QualType ThisType,
bool isImplicit)
clang::ExprResult RebuildCXXThisExpr(
clang::SourceLocation ThisLoc,
clang::QualType ThisType,
bool isImplicit)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3117
Parameters
- clang::SourceLocation ThisLoc
- clang::QualType ThisType
- bool isImplicit
¶clang::ExprResult RebuildCXXThrowExpr(
clang::SourceLocation ThrowLoc,
clang::Expr* Sub,
bool IsThrownVariableInScope)
clang::ExprResult RebuildCXXThrowExpr(
clang::SourceLocation ThrowLoc,
clang::Expr* Sub,
bool IsThrownVariableInScope)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3127
Parameters
- clang::SourceLocation ThrowLoc
- clang::Expr* Sub
- bool IsThrownVariableInScope
¶clang::StmtResult RebuildCXXTryStmt(
clang::SourceLocation TryLoc,
clang::Stmt* TryBlock,
ArrayRef<clang::Stmt*> Handlers)
clang::StmtResult RebuildCXXTryStmt(
clang::SourceLocation TryLoc,
clang::Stmt* TryBlock,
ArrayRef<clang::Stmt*> Handlers)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2391
Parameters
- clang::SourceLocation TryLoc
- clang::Stmt* TryBlock
- ArrayRef<clang::Stmt*> Handlers
¶clang::ExprResult RebuildCXXTypeidExpr(
clang::QualType TypeInfoType,
clang::SourceLocation TypeidLoc,
clang::Expr* Operand,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXTypeidExpr(
clang::QualType TypeInfoType,
clang::SourceLocation TypeidLoc,
clang::Expr* Operand,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3085
Parameters
- clang::QualType TypeInfoType
- clang::SourceLocation TypeidLoc
- clang::Expr* Operand
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXTypeidExpr(
clang::QualType TypeInfoType,
clang::SourceLocation TypeidLoc,
clang::TypeSourceInfo* Operand,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXTypeidExpr(
clang::QualType TypeInfoType,
clang::SourceLocation TypeidLoc,
clang::TypeSourceInfo* Operand,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3072
Parameters
- clang::QualType TypeInfoType
- clang::SourceLocation TypeidLoc
- clang::TypeSourceInfo* Operand
- clang::SourceLocation RParenLoc
¶clang::ExprResult
RebuildCXXUnresolvedConstructExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc,
bool ListInitialization)
clang::ExprResult
RebuildCXXUnresolvedConstructExpr(
clang::TypeSourceInfo* TSInfo,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc,
bool ListInitialization)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3336
Parameters
- clang::TypeSourceInfo* TSInfo
- clang::SourceLocation LParenLoc
- clang::MultiExprArg Args
- clang::SourceLocation RParenLoc
- bool ListInitialization
¶clang::ExprResult RebuildCXXUuidofExpr(
clang::QualType Type,
clang::SourceLocation TypeidLoc,
clang::Expr* Operand,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXUuidofExpr(
clang::QualType Type,
clang::SourceLocation TypeidLoc,
clang::Expr* Operand,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3107
Parameters
- clang::QualType Type
- clang::SourceLocation TypeidLoc
- clang::Expr* Operand
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCXXUuidofExpr(
clang::QualType Type,
clang::SourceLocation TypeidLoc,
clang::TypeSourceInfo* Operand,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCXXUuidofExpr(
clang::QualType Type,
clang::SourceLocation TypeidLoc,
clang::TypeSourceInfo* Operand,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3097
Parameters
- clang::QualType Type
- clang::SourceLocation TypeidLoc
- clang::TypeSourceInfo* Operand
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCallExpr(
clang::Expr* Callee,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc,
clang::Expr* ExecConfig = nullptr)
clang::ExprResult RebuildCallExpr(
clang::Expr* Callee,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc,
clang::Expr* ExecConfig = nullptr)
Description
Build a new call expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2651
Parameters
- clang::Expr* Callee
- clang::SourceLocation LParenLoc
- clang::MultiExprArg Args
- clang::SourceLocation RParenLoc
- clang::Expr* ExecConfig = nullptr
¶clang::StmtResult RebuildCaseStmt(
clang::SourceLocation CaseLoc,
clang::Expr* LHS,
clang::SourceLocation EllipsisLoc,
clang::Expr* RHS,
clang::SourceLocation ColonLoc)
clang::StmtResult RebuildCaseStmt(
clang::SourceLocation CaseLoc,
clang::Expr* LHS,
clang::SourceLocation EllipsisLoc,
clang::Expr* RHS,
clang::SourceLocation ColonLoc)
Description
Build a new case statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1276
Parameters
- clang::SourceLocation CaseLoc
- clang::Expr* LHS
- clang::SourceLocation EllipsisLoc
- clang::Expr* RHS
- clang::SourceLocation ColonLoc
¶clang::StmtResult RebuildCaseStmtBody(
clang::Stmt* S,
clang::Stmt* Body)
clang::StmtResult RebuildCaseStmtBody(
clang::Stmt* S,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1289
Parameters
- clang::Stmt* S
- clang::Stmt* Body
¶clang::ExprResult RebuildChooseExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* Cond,
clang::Expr* LHS,
clang::Expr* RHS,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildChooseExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* Cond,
clang::Expr* LHS,
clang::Expr* RHS,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2885
Parameters
- clang::SourceLocation BuiltinLoc
- clang::Expr* Cond
- clang::Expr* LHS
- clang::Expr* RHS
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildCoawaitExpr(
clang::SourceLocation CoawaitLoc,
clang::Expr* Operand,
clang::UnresolvedLookupExpr* OpCoawaitLookup,
bool IsImplicit)
clang::ExprResult RebuildCoawaitExpr(
clang::SourceLocation CoawaitLoc,
clang::Expr* Operand,
clang::UnresolvedLookupExpr* OpCoawaitLookup,
bool IsImplicit)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1473
Parameters
- clang::SourceLocation CoawaitLoc
- clang::Expr* Operand
- clang::UnresolvedLookupExpr* OpCoawaitLookup
- bool IsImplicit
¶clang::ExprResult RebuildCompoundLiteralExpr(
clang::SourceLocation LParenLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc,
clang::Expr* Init)
clang::ExprResult RebuildCompoundLiteralExpr(
clang::SourceLocation LParenLoc,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc,
clang::Expr* Init)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2774
Parameters
- clang::SourceLocation LParenLoc
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RParenLoc
- clang::Expr* Init
¶clang::StmtResult RebuildCompoundStmt(
clang::SourceLocation LBraceLoc,
clang::MultiStmtArg Statements,
clang::SourceLocation RBraceLoc,
bool IsStmtExpr)
clang::StmtResult RebuildCompoundStmt(
clang::SourceLocation LBraceLoc,
clang::MultiStmtArg Statements,
clang::SourceLocation RBraceLoc,
bool IsStmtExpr)
Description
Build a new compound statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1264
Parameters
- clang::SourceLocation LBraceLoc
- clang::MultiStmtArg Statements
- clang::SourceLocation RBraceLoc
- bool IsStmtExpr
¶clang::ExprResult
RebuildConceptSpecializationExpr(
clang::NestedNameSpecifierLoc NNS,
clang::SourceLocation TemplateKWLoc,
clang::DeclarationNameInfo ConceptNameInfo,
clang::NamedDecl* FoundDecl,
clang::ConceptDecl* NamedConcept,
clang::TemplateArgumentListInfo* TALI)
clang::ExprResult
RebuildConceptSpecializationExpr(
clang::NestedNameSpecifierLoc NNS,
clang::SourceLocation TemplateKWLoc,
clang::DeclarationNameInfo ConceptNameInfo,
clang::NamedDecl* FoundDecl,
clang::ConceptDecl* NamedConcept,
clang::TemplateArgumentListInfo* TALI)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3427
Parameters
- clang::NestedNameSpecifierLoc NNS
- clang::SourceLocation TemplateKWLoc
- clang::DeclarationNameInfo ConceptNameInfo
- clang::NamedDecl* FoundDecl
- clang::ConceptDecl* NamedConcept
- clang::TemplateArgumentListInfo* TALI
¶clang::ExprResult RebuildConditionalOperator(
clang::Expr* Cond,
clang::SourceLocation QuestionLoc,
clang::Expr* LHS,
clang::SourceLocation ColonLoc,
clang::Expr* RHS)
clang::ExprResult RebuildConditionalOperator(
clang::Expr* Cond,
clang::SourceLocation QuestionLoc,
clang::Expr* LHS,
clang::SourceLocation ColonLoc,
clang::Expr* RHS)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2749
Parameters
- clang::Expr* Cond
- clang::SourceLocation QuestionLoc
- clang::Expr* LHS
- clang::SourceLocation ColonLoc
- clang::Expr* RHS
¶clang::QualType RebuildConstantArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
const llvm::APInt& Size,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
clang::QualType RebuildConstantArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
const llvm::APInt& Size,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:826
Parameters
- clang::QualType ElementType
- ArrayType::ArraySizeModifier SizeMod
- const llvm::APInt& Size
- clang::Expr* SizeExpr
- unsigned int IndexTypeQuals
- clang::SourceRange BracketsRange
¶clang::QualType RebuildConstantMatrixType(
clang::QualType ElementType,
unsigned int NumRows,
unsigned int NumColumns)
clang::QualType RebuildConstantMatrixType(
clang::QualType ElementType,
unsigned int NumRows,
unsigned int NumColumns)
Description
Build a new matrix type given the element type and dimensions.
Declared at: clang/lib/Sema/TreeTransform.h:900
Parameters
- clang::QualType ElementType
- unsigned int NumRows
- unsigned int NumColumns
¶clang::ExprResult RebuildConvertVectorExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* SrcExpr,
clang::TypeSourceInfo* DstTInfo,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildConvertVectorExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* SrcExpr,
clang::TypeSourceInfo* DstTInfo,
clang::SourceLocation RParenLoc)
Description
Build a new convert vector expression.
Declared at: clang/lib/Sema/TreeTransform.h:3695
Parameters
- clang::SourceLocation BuiltinLoc
- clang::Expr* SrcExpr
- clang::TypeSourceInfo* DstTInfo
- clang::SourceLocation RParenLoc
¶clang::StmtResult RebuildCoreturnStmt(
clang::SourceLocation CoreturnLoc,
clang::Expr* Result,
bool IsImplicit)
clang::StmtResult RebuildCoreturnStmt(
clang::SourceLocation CoreturnLoc,
clang::Expr* Result,
bool IsImplicit)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1464
Parameters
- clang::SourceLocation CoreturnLoc
- clang::Expr* Result
- bool IsImplicit
¶clang::StmtResult RebuildCoroutineBodyStmt(
CoroutineBodyStmt::CtorArgs Args)
clang::StmtResult RebuildCoroutineBodyStmt(
CoroutineBodyStmt::CtorArgs Args)
Declared at: clang/lib/Sema/TreeTransform.h:1515
Parameters
¶clang::ExprResult RebuildCoyieldExpr(
clang::SourceLocation CoyieldLoc,
clang::Expr* Result)
clang::ExprResult RebuildCoyieldExpr(
clang::SourceLocation CoyieldLoc,
clang::Expr* Result)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1511
Parameters
- clang::SourceLocation CoyieldLoc
- clang::Expr* Result
¶clang::ExprResult RebuildCxxSubscriptExpr(
clang::Expr* Callee,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildCxxSubscriptExpr(
clang::Expr* Callee,
clang::SourceLocation LParenLoc,
clang::MultiExprArg Args,
clang::SourceLocation RParenLoc)
Declared at: clang/lib/Sema/TreeTransform.h:2659
Parameters
- clang::Expr* Callee
- clang::SourceLocation LParenLoc
- clang::MultiExprArg Args
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildDeclRefExpr(
clang::NestedNameSpecifierLoc QualifierLoc,
clang::ValueDecl* VD,
const clang::DeclarationNameInfo& NameInfo,
clang::NamedDecl* Found,
clang::TemplateArgumentListInfo* TemplateArgs)
clang::ExprResult RebuildDeclRefExpr(
clang::NestedNameSpecifierLoc QualifierLoc,
clang::ValueDecl* VD,
const clang::DeclarationNameInfo& NameInfo,
clang::NamedDecl* Found,
clang::TemplateArgumentListInfo* TemplateArgs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2502
Parameters
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::ValueDecl* VD
- const clang::DeclarationNameInfo& NameInfo
- clang::NamedDecl* Found
- clang::TemplateArgumentListInfo* TemplateArgs
¶clang::StmtResult RebuildDeclStmt(
MutableArrayRef<clang::Decl*> Decls,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
clang::StmtResult RebuildDeclStmt(
MutableArrayRef<clang::Decl*> Decls,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
Description
Build a new declaration statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1421
Parameters
- MutableArrayRef<clang::Decl*> Decls
- clang::SourceLocation StartLoc
- clang::SourceLocation EndLoc
¶clang::ExprResult RebuildDeclarationNameExpr(
const clang::CXXScopeSpec& SS,
clang::LookupResult& R,
bool RequiresADL)
clang::ExprResult RebuildDeclarationNameExpr(
const clang::CXXScopeSpec& SS,
clang::LookupResult& R,
bool RequiresADL)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2491
Parameters
- const clang::CXXScopeSpec& SS
- clang::LookupResult& R
- bool RequiresADL
¶clang::QualType RebuildDecltypeType(
clang::Expr* Underlying,
clang::SourceLocation Loc)
clang::QualType RebuildDecltypeType(
clang::Expr* Underlying,
clang::SourceLocation Loc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:982
Parameters
- clang::Expr* Underlying
- clang::SourceLocation Loc
¶clang::QualType
RebuildDeducedTemplateSpecializationType(
clang::TemplateName Template,
clang::QualType Deduced)
clang::QualType
RebuildDeducedTemplateSpecializationType(
clang::TemplateName Template,
clang::QualType Deduced)
Description
By default, builds a new DeducedTemplateSpecializationType with the given deduced type.
Declared at: clang/lib/Sema/TreeTransform.h:1001
Parameters
- clang::TemplateName Template
- clang::QualType Deduced
¶clang::StmtResult RebuildDefaultStmt(
clang::SourceLocation DefaultLoc,
clang::SourceLocation ColonLoc,
clang::Stmt* SubStmt)
clang::StmtResult RebuildDefaultStmt(
clang::SourceLocation DefaultLoc,
clang::SourceLocation ColonLoc,
clang::Stmt* SubStmt)
Description
Build a new default statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1298
Parameters
- clang::SourceLocation DefaultLoc
- clang::SourceLocation ColonLoc
- clang::Stmt* SubStmt
¶clang::QualType RebuildDependentAddressSpaceType(
clang::QualType PointeeType,
clang::Expr* AddrSpaceExpr,
clang::SourceLocation AttributeLoc)
clang::QualType RebuildDependentAddressSpaceType(
clang::QualType PointeeType,
clang::Expr* AddrSpaceExpr,
clang::SourceLocation AttributeLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:917
Parameters
- clang::QualType PointeeType
- clang::Expr* AddrSpaceExpr
- clang::SourceLocation AttributeLoc
¶clang::QualType RebuildDependentBitIntType(
bool IsUnsigned,
clang::Expr* NumBitsExpr,
clang::SourceLocation Loc)
clang::QualType RebuildDependentBitIntType(
bool IsUnsigned,
clang::Expr* NumBitsExpr,
clang::SourceLocation Loc)
Description
Build a dependent bit-precise int given its value type.
Declared at: clang/lib/Sema/TreeTransform.h:1208
Parameters
- bool IsUnsigned
- clang::Expr* NumBitsExpr
- clang::SourceLocation Loc
¶clang::ExprResult RebuildDependentCoawaitExpr(
clang::SourceLocation CoawaitLoc,
clang::Expr* Result,
clang::UnresolvedLookupExpr* Lookup)
clang::ExprResult RebuildDependentCoawaitExpr(
clang::SourceLocation CoawaitLoc,
clang::Expr* Result,
clang::UnresolvedLookupExpr* Lookup)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1501
Parameters
- clang::SourceLocation CoawaitLoc
- clang::Expr* Result
- clang::UnresolvedLookupExpr* Lookup
¶clang::QualType RebuildDependentNameType(
clang::ElaboratedTypeKeyword Keyword,
clang::SourceLocation KeywordLoc,
clang::NestedNameSpecifierLoc QualifierLoc,
const clang::IdentifierInfo* Id,
clang::SourceLocation IdLoc,
bool DeducedTSTContext)
clang::QualType RebuildDependentNameType(
clang::ElaboratedTypeKeyword Keyword,
clang::SourceLocation KeywordLoc,
clang::NestedNameSpecifierLoc QualifierLoc,
const clang::IdentifierInfo* Id,
clang::SourceLocation IdLoc,
bool DeducedTSTContext)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1088
Parameters
- clang::ElaboratedTypeKeyword Keyword
- clang::SourceLocation KeywordLoc
- clang::NestedNameSpecifierLoc QualifierLoc
- const clang::IdentifierInfo* Id
- clang::SourceLocation IdLoc
- bool DeducedTSTContext
¶clang::ExprResult
RebuildDependentScopeDeclRefExpr(
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
const clang::TemplateArgumentListInfo*
TemplateArgs,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
clang::ExprResult
RebuildDependentScopeDeclRefExpr(
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo& NameInfo,
const clang::TemplateArgumentListInfo*
TemplateArgs,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3242
Parameters
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- const clang::DeclarationNameInfo& NameInfo
- const clang::TemplateArgumentListInfo* TemplateArgs
- bool IsAddressOfOperand
- clang::TypeSourceInfo** RecoveryTSI
¶clang::QualType RebuildDependentSizedArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
clang::QualType RebuildDependentSizedArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:859
Parameters
- clang::QualType ElementType
- ArrayType::ArraySizeModifier SizeMod
- clang::Expr* SizeExpr
- unsigned int IndexTypeQuals
- clang::SourceRange BracketsRange
¶clang::QualType
RebuildDependentSizedExtVectorType(
clang::QualType ElementType,
clang::Expr* SizeExpr,
clang::SourceLocation AttributeLoc)
clang::QualType
RebuildDependentSizedExtVectorType(
clang::QualType ElementType,
clang::Expr* SizeExpr,
clang::SourceLocation AttributeLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:895
Parameters
- clang::QualType ElementType
- clang::Expr* SizeExpr
- clang::SourceLocation AttributeLoc
¶clang::QualType RebuildDependentSizedMatrixType(
clang::QualType ElementType,
clang::Expr* RowExpr,
clang::Expr* ColumnExpr,
clang::SourceLocation AttributeLoc)
clang::QualType RebuildDependentSizedMatrixType(
clang::QualType ElementType,
clang::Expr* RowExpr,
clang::Expr* ColumnExpr,
clang::SourceLocation AttributeLoc)
Description
Build a new matrix type given the type and dependently-defined dimensions.
Declared at: clang/lib/Sema/TreeTransform.h:905
Parameters
- clang::QualType ElementType
- clang::Expr* RowExpr
- clang::Expr* ColumnExpr
- clang::SourceLocation AttributeLoc
¶clang::QualType
RebuildDependentTemplateSpecializationType(
clang::ElaboratedTypeKeyword Keyword,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::IdentifierInfo* Name,
clang::SourceLocation NameLoc,
clang::TemplateArgumentListInfo& Args,
bool AllowInjectedClassName)
clang::QualType
RebuildDependentTemplateSpecializationType(
clang::ElaboratedTypeKeyword Keyword,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::IdentifierInfo* Name,
clang::SourceLocation NameLoc,
clang::TemplateArgumentListInfo& Args,
bool AllowInjectedClassName)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1043
Parameters
- clang::ElaboratedTypeKeyword Keyword
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- const clang::IdentifierInfo* Name
- clang::SourceLocation NameLoc
- clang::TemplateArgumentListInfo& Args
- bool AllowInjectedClassName
¶clang::QualType RebuildDependentVectorType(
clang::QualType ElementType,
clang::Expr* SizeExpr,
clang::SourceLocation AttributeLoc,
VectorType::VectorKind)
clang::QualType RebuildDependentVectorType(
clang::QualType ElementType,
clang::Expr* SizeExpr,
clang::SourceLocation AttributeLoc,
VectorType::VectorKind)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:878
Parameters
- clang::QualType ElementType
- clang::Expr* SizeExpr
- clang::SourceLocation AttributeLoc
- VectorType::VectorKind
¶clang::ExprResult RebuildDesignatedInitExpr(
clang::Designation& Desig,
clang::MultiExprArg ArrayExprs,
clang::SourceLocation EqualOrColonLoc,
bool GNUSyntax,
clang::Expr* Init)
clang::ExprResult RebuildDesignatedInitExpr(
clang::Designation& Desig,
clang::MultiExprArg ArrayExprs,
clang::SourceLocation EqualOrColonLoc,
bool GNUSyntax,
clang::Expr* Init)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2816
Parameters
- clang::Designation& Desig
- clang::MultiExprArg ArrayExprs
- clang::SourceLocation EqualOrColonLoc
- bool GNUSyntax
- clang::Expr* Init
¶clang::StmtResult RebuildDoStmt(
clang::SourceLocation DoLoc,
clang::Stmt* Body,
clang::SourceLocation WhileLoc,
clang::SourceLocation LParenLoc,
clang::Expr* Cond,
clang::SourceLocation RParenLoc)
clang::StmtResult RebuildDoStmt(
clang::SourceLocation DoLoc,
clang::Stmt* Body,
clang::SourceLocation WhileLoc,
clang::SourceLocation LParenLoc,
clang::Expr* Cond,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1371
Parameters
- clang::SourceLocation DoLoc
- clang::Stmt* Body
- clang::SourceLocation WhileLoc
- clang::SourceLocation LParenLoc
- clang::Expr* Cond
- clang::SourceLocation RParenLoc
¶clang::QualType RebuildElaboratedType(
clang::SourceLocation KeywordLoc,
clang::ElaboratedTypeKeyword Keyword,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::QualType Named)
clang::QualType RebuildElaboratedType(
clang::SourceLocation KeywordLoc,
clang::ElaboratedTypeKeyword Keyword,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::QualType Named)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1029
Parameters
- clang::SourceLocation KeywordLoc
- clang::ElaboratedTypeKeyword Keyword
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::QualType Named
¶clang::ExprResult RebuildEmptyCXXFoldExpr(
clang::SourceLocation EllipsisLoc,
clang::BinaryOperatorKind Operator)
clang::ExprResult RebuildEmptyCXXFoldExpr(
clang::SourceLocation EllipsisLoc,
clang::BinaryOperatorKind Operator)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3779
Parameters
- clang::SourceLocation EllipsisLoc
- clang::BinaryOperatorKind Operator
¶clang::QualType RebuildEnumType(
clang::EnumDecl* Enum)
clang::QualType RebuildEnumType(
clang::EnumDecl* Enum)
Description
Build a new Enum type.
Declared at: clang/lib/Sema/TreeTransform.h:958
Parameters
- clang::EnumDecl* Enum
¶clang::VarDecl* RebuildExceptionDecl(
clang::VarDecl* ExceptionDecl,
clang::TypeSourceInfo* Declarator,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::IdentifierInfo* Id)
clang::VarDecl* RebuildExceptionDecl(
clang::VarDecl* ExceptionDecl,
clang::TypeSourceInfo* Declarator,
clang::SourceLocation StartLoc,
clang::SourceLocation IdLoc,
clang::IdentifierInfo* Id)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2364
Parameters
- clang::VarDecl* ExceptionDecl
- clang::TypeSourceInfo* Declarator
- clang::SourceLocation StartLoc
- clang::SourceLocation IdLoc
- clang::IdentifierInfo* Id
¶concepts::ExprRequirement* RebuildExprRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag,
bool IsSimple,
clang::SourceLocation NoexceptLoc,
concepts::ExprRequirement::
ReturnTypeRequirement Ret)
concepts::ExprRequirement* RebuildExprRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag,
bool IsSimple,
clang::SourceLocation NoexceptLoc,
concepts::ExprRequirement::
ReturnTypeRequirement Ret)
Declared at: clang/lib/Sema/TreeTransform.h:3466
Parameters
- concepts::Requirement::SubstitutionDiagnostic* SubstDiag
- bool IsSimple
- clang::SourceLocation NoexceptLoc
- concepts::ExprRequirement::ReturnTypeRequirement Ret
¶concepts::ExprRequirement* RebuildExprRequirement(
clang::Expr* E,
bool IsSimple,
clang::SourceLocation NoexceptLoc,
concepts::ExprRequirement::
ReturnTypeRequirement Ret)
concepts::ExprRequirement* RebuildExprRequirement(
clang::Expr* E,
bool IsSimple,
clang::SourceLocation NoexceptLoc,
concepts::ExprRequirement::
ReturnTypeRequirement Ret)
Declared at: clang/lib/Sema/TreeTransform.h:3475
Parameters
- clang::Expr* E
- bool IsSimple
- clang::SourceLocation NoexceptLoc
- concepts::ExprRequirement::ReturnTypeRequirement Ret
¶clang::ExprResult RebuildExpressionTrait(
clang::ExpressionTrait Trait,
clang::SourceLocation StartLoc,
clang::Expr* Queried,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildExpressionTrait(
clang::ExpressionTrait Trait,
clang::SourceLocation StartLoc,
clang::Expr* Queried,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3230
Parameters
- clang::ExpressionTrait Trait
- clang::SourceLocation StartLoc
- clang::Expr* Queried
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildExtVectorElementExpr(
clang::Expr* Base,
clang::SourceLocation OpLoc,
clang::SourceLocation AccessorLoc,
clang::IdentifierInfo& Accessor)
clang::ExprResult RebuildExtVectorElementExpr(
clang::Expr* Base,
clang::SourceLocation OpLoc,
clang::SourceLocation AccessorLoc,
clang::IdentifierInfo& Accessor)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2786
Parameters
- clang::Expr* Base
- clang::SourceLocation OpLoc
- clang::SourceLocation AccessorLoc
- clang::IdentifierInfo& Accessor
¶clang::QualType RebuildExtVectorType(
clang::QualType ElementType,
unsigned int NumElements,
clang::SourceLocation AttributeLoc)
clang::QualType RebuildExtVectorType(
clang::QualType ElementType,
unsigned int NumElements,
clang::SourceLocation AttributeLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:887
Parameters
- clang::QualType ElementType
- unsigned int NumElements
- clang::SourceLocation AttributeLoc
¶clang::StmtResult RebuildForStmt(
clang::SourceLocation ForLoc,
clang::SourceLocation LParenLoc,
clang::Stmt* Init,
Sema::ConditionResult Cond,
Sema::FullExprArg Inc,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
clang::StmtResult RebuildForStmt(
clang::SourceLocation ForLoc,
clang::SourceLocation LParenLoc,
clang::Stmt* Init,
Sema::ConditionResult Cond,
Sema::FullExprArg Inc,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
Description
Build a new for statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1382
Parameters
- clang::SourceLocation ForLoc
- clang::SourceLocation LParenLoc
- clang::Stmt* Init
- Sema::ConditionResult Cond
- Sema::FullExprArg Inc
- clang::SourceLocation RParenLoc
- clang::Stmt* Body
¶clang::QualType RebuildFunctionNoProtoType(
clang::QualType ResultType)
clang::QualType RebuildFunctionNoProtoType(
clang::QualType ResultType)
Description
Build a new unprototyped function type.
Declared at: clang/lib/Sema/TreeTransform.h:930
Parameters
- clang::QualType ResultType
¶clang::QualType RebuildFunctionProtoType(
clang::QualType T,
MutableArrayRef<clang::QualType> ParamTypes,
const FunctionProtoType::ExtProtoInfo& EPI)
clang::QualType RebuildFunctionProtoType(
clang::QualType T,
MutableArrayRef<clang::QualType> ParamTypes,
const FunctionProtoType::ExtProtoInfo& EPI)
Description
Build a new function type. By default, performs semantic analysis when building the function type. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:925
Parameters
- clang::QualType T
- MutableArrayRef<clang::QualType> ParamTypes
- const FunctionProtoType::ExtProtoInfo& EPI
¶clang::StmtResult RebuildGCCAsmStmt(
clang::SourceLocation AsmLoc,
bool IsSimple,
bool IsVolatile,
unsigned int NumOutputs,
unsigned int NumInputs,
clang::IdentifierInfo** Names,
clang::MultiExprArg Constraints,
clang::MultiExprArg Exprs,
clang::Expr* AsmString,
clang::MultiExprArg Clobbers,
unsigned int NumLabels,
clang::SourceLocation RParenLoc)
clang::StmtResult RebuildGCCAsmStmt(
clang::SourceLocation AsmLoc,
bool IsSimple,
bool IsVolatile,
unsigned int NumOutputs,
unsigned int NumInputs,
clang::IdentifierInfo** Names,
clang::MultiExprArg Constraints,
clang::MultiExprArg Exprs,
clang::Expr* AsmString,
clang::MultiExprArg Clobbers,
unsigned int NumLabels,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1431
Parameters
- clang::SourceLocation AsmLoc
- bool IsSimple
- bool IsVolatile
- unsigned int NumOutputs
- unsigned int NumInputs
- clang::IdentifierInfo** Names
- clang::MultiExprArg Constraints
- clang::MultiExprArg Exprs
- clang::Expr* AsmString
- clang::MultiExprArg Clobbers
- unsigned int NumLabels
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildGenericSelectionExpr(
clang::SourceLocation KeyLoc,
clang::SourceLocation DefaultLoc,
clang::SourceLocation RParenLoc,
clang::Expr* ControllingExpr,
ArrayRef<clang::TypeSourceInfo*> Types,
ArrayRef<clang::Expr*> Exprs)
clang::ExprResult RebuildGenericSelectionExpr(
clang::SourceLocation KeyLoc,
clang::SourceLocation DefaultLoc,
clang::SourceLocation RParenLoc,
clang::Expr* ControllingExpr,
ArrayRef<clang::TypeSourceInfo*> Types,
ArrayRef<clang::Expr*> Exprs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2897
Parameters
- clang::SourceLocation KeyLoc
- clang::SourceLocation DefaultLoc
- clang::SourceLocation RParenLoc
- clang::Expr* ControllingExpr
- ArrayRef<clang::TypeSourceInfo*> Types
- ArrayRef<clang::Expr*> Exprs
¶clang::StmtResult RebuildGotoStmt(
clang::SourceLocation GotoLoc,
clang::SourceLocation LabelLoc,
clang::LabelDecl* Label)
clang::StmtResult RebuildGotoStmt(
clang::SourceLocation GotoLoc,
clang::SourceLocation LabelLoc,
clang::LabelDecl* Label)
Description
Build a new goto statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1394
Parameters
- clang::SourceLocation GotoLoc
- clang::SourceLocation LabelLoc
- clang::LabelDecl* Label
¶clang::StmtResult RebuildIfStmt(
clang::SourceLocation IfLoc,
clang::IfStatementKind Kind,
clang::SourceLocation LParenLoc,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc,
clang::Stmt* Init,
clang::Stmt* Then,
clang::SourceLocation ElseLoc,
clang::Stmt* Else)
clang::StmtResult RebuildIfStmt(
clang::SourceLocation IfLoc,
clang::IfStatementKind Kind,
clang::SourceLocation LParenLoc,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc,
clang::Stmt* Init,
clang::Stmt* Then,
clang::SourceLocation ElseLoc,
clang::Stmt* Else)
Description
Build a new "if" statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1328
Parameters
- clang::SourceLocation IfLoc
- clang::IfStatementKind Kind
- clang::SourceLocation LParenLoc
- Sema::ConditionResult Cond
- clang::SourceLocation RParenLoc
- clang::Stmt* Init
- clang::Stmt* Then
- clang::SourceLocation ElseLoc
- clang::Stmt* Else
¶clang::ExprResult RebuildImplicitValueInitExpr(
clang::QualType T)
clang::ExprResult RebuildImplicitValueInitExpr(
clang::QualType T)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2835
Parameters
¶clang::QualType RebuildIncompleteArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
clang::QualType RebuildIncompleteArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:838
Parameters
- clang::QualType ElementType
- ArrayType::ArraySizeModifier SizeMod
- unsigned int IndexTypeQuals
- clang::SourceRange BracketsRange
¶clang::StmtResult RebuildIndirectGotoStmt(
clang::SourceLocation GotoLoc,
clang::SourceLocation StarLoc,
clang::Expr* Target)
clang::StmtResult RebuildIndirectGotoStmt(
clang::SourceLocation GotoLoc,
clang::SourceLocation StarLoc,
clang::Expr* Target)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1403
Parameters
- clang::SourceLocation GotoLoc
- clang::SourceLocation StarLoc
- clang::Expr* Target
¶clang::ExprResult RebuildInitList(
clang::SourceLocation LBraceLoc,
clang::MultiExprArg Inits,
clang::SourceLocation RBraceLoc)
clang::ExprResult RebuildInitList(
clang::SourceLocation LBraceLoc,
clang::MultiExprArg Inits,
clang::SourceLocation RBraceLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2806
Parameters
- clang::SourceLocation LBraceLoc
- clang::MultiExprArg Inits
- clang::SourceLocation RBraceLoc
¶clang::StmtResult RebuildLabelStmt(
clang::SourceLocation IdentLoc,
clang::LabelDecl* L,
clang::SourceLocation ColonLoc,
clang::Stmt* SubStmt)
clang::StmtResult RebuildLabelStmt(
clang::SourceLocation IdentLoc,
clang::LabelDecl* L,
clang::SourceLocation ColonLoc,
clang::Stmt* SubStmt)
Description
Build a new label statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1309
Parameters
- clang::SourceLocation IdentLoc
- clang::LabelDecl* L
- clang::SourceLocation ColonLoc
- clang::Stmt* SubStmt
¶clang::StmtResult RebuildMSAsmStmt(
clang::SourceLocation AsmLoc,
clang::SourceLocation LBraceLoc,
ArrayRef<clang::Token> AsmToks,
llvm::StringRef AsmString,
unsigned int NumOutputs,
unsigned int NumInputs,
ArrayRef<llvm::StringRef> Constraints,
ArrayRef<llvm::StringRef> Clobbers,
ArrayRef<clang::Expr*> Exprs,
clang::SourceLocation EndLoc)
clang::StmtResult RebuildMSAsmStmt(
clang::SourceLocation AsmLoc,
clang::SourceLocation LBraceLoc,
ArrayRef<clang::Token> AsmToks,
llvm::StringRef AsmString,
unsigned int NumOutputs,
unsigned int NumInputs,
ArrayRef<llvm::StringRef> Constraints,
ArrayRef<llvm::StringRef> Clobbers,
ArrayRef<clang::Expr*> Exprs,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1447
Parameters
- clang::SourceLocation AsmLoc
- clang::SourceLocation LBraceLoc
- ArrayRef<clang::Token> AsmToks
- llvm::StringRef AsmString
- unsigned int NumOutputs
- unsigned int NumInputs
- ArrayRef<llvm::StringRef> Constraints
- ArrayRef<llvm::StringRef> Clobbers
- ArrayRef<clang::Expr*> Exprs
- clang::SourceLocation EndLoc
¶clang::StmtResult RebuildMSDependentExistsStmt(
clang::SourceLocation KeywordLoc,
bool IsIfExists,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::DeclarationNameInfo NameInfo,
clang::Stmt* Nested)
clang::StmtResult RebuildMSDependentExistsStmt(
clang::SourceLocation KeywordLoc,
bool IsIfExists,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::DeclarationNameInfo NameInfo,
clang::Stmt* Nested)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2440
Parameters
- clang::SourceLocation KeywordLoc
- bool IsIfExists
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::DeclarationNameInfo NameInfo
- clang::Stmt* Nested
¶clang::QualType RebuildMacroQualifiedType(
clang::QualType T,
const clang::IdentifierInfo* MacroII)
clang::QualType RebuildMacroQualifiedType(
clang::QualType T,
const clang::IdentifierInfo* MacroII)
Description
Build a new MacroDefined type.
Declared at: clang/lib/Sema/TreeTransform.h:947
Parameters
- clang::QualType T
- const clang::IdentifierInfo* MacroII
¶clang::ExprResult RebuildMatrixSubscriptExpr(
clang::Expr* Base,
clang::Expr* RowIdx,
clang::Expr* ColumnIdx,
clang::SourceLocation RBracketLoc)
clang::ExprResult RebuildMatrixSubscriptExpr(
clang::Expr* Base,
clang::Expr* RowIdx,
clang::Expr* ColumnIdx,
clang::SourceLocation RBracketLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2602
Parameters
- clang::Expr* Base
- clang::Expr* RowIdx
- clang::Expr* ColumnIdx
- clang::SourceLocation RBracketLoc
¶clang::ExprResult RebuildMemberExpr(
clang::Expr* Base,
clang::SourceLocation OpLoc,
bool isArrow,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo&
MemberNameInfo,
clang::ValueDecl* Member,
clang::NamedDecl* FoundDecl,
const clang::TemplateArgumentListInfo*
ExplicitTemplateArgs,
clang::NamedDecl* FirstQualifierInScope)
clang::ExprResult RebuildMemberExpr(
clang::Expr* Base,
clang::SourceLocation OpLoc,
bool isArrow,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
const clang::DeclarationNameInfo&
MemberNameInfo,
clang::ValueDecl* Member,
clang::NamedDecl* FoundDecl,
const clang::TemplateArgumentListInfo*
ExplicitTemplateArgs,
clang::NamedDecl* FirstQualifierInScope)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2670
Parameters
- clang::Expr* Base
- clang::SourceLocation OpLoc
- bool isArrow
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- const clang::DeclarationNameInfo& MemberNameInfo
- clang::ValueDecl* Member
- clang::NamedDecl* FoundDecl
- const clang::TemplateArgumentListInfo* ExplicitTemplateArgs
- clang::NamedDecl* FirstQualifierInScope
¶clang::QualType RebuildMemberPointerType(
clang::QualType PointeeType,
clang::QualType ClassType,
clang::SourceLocation Sigil)
clang::QualType RebuildMemberPointerType(
clang::QualType PointeeType,
clang::QualType ClassType,
clang::SourceLocation Sigil)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:777
Parameters
- clang::QualType PointeeType
- clang::QualType ClassType
- clang::SourceLocation Sigil
¶concepts::NestedRequirement*
RebuildNestedRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag)
concepts::NestedRequirement*
RebuildNestedRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag)
Declared at: clang/lib/Sema/TreeTransform.h:3482
Parameters
¶concepts::NestedRequirement*
RebuildNestedRequirement(clang::Expr* Constraint)
concepts::NestedRequirement*
RebuildNestedRequirement(clang::Expr* Constraint)
Declared at: clang/lib/Sema/TreeTransform.h:3487
Parameters
- clang::Expr* Constraint
¶clang::OMPClause* RebuildOMPAffinityClause(
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::Expr* Modifier,
ArrayRef<clang::Expr*> Locators)
clang::OMPClause* RebuildOMPAffinityClause(
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::Expr* Modifier,
ArrayRef<clang::Expr*> Locators)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2197
Parameters
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
- clang::Expr* Modifier
- ArrayRef<clang::Expr*> Locators
¶clang::OMPClause* RebuildOMPAlignClause(
clang::Expr* A,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPAlignClause(
clang::Expr* A,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2308
Parameters
- clang::Expr* A
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPAlignedClause(
ArrayRef<clang::Expr*> VarList,
clang::Expr* Alignment,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPAlignedClause(
ArrayRef<clang::Expr*> VarList,
clang::Expr* Alignment,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1862
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::Expr* Alignment
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPAllocateClause(
clang::Expr* Allocate,
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPAllocateClause(
clang::Expr* Allocate,
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1965
Parameters
- clang::Expr* Allocate
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPAllocatorClause(
clang::Expr* A,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPAllocatorClause(
clang::Expr* A,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1678
Parameters
- clang::Expr* A
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::ExprResult RebuildOMPArraySectionExpr(
clang::Expr* Base,
clang::SourceLocation LBracketLoc,
clang::Expr* LowerBound,
clang::SourceLocation ColonLocFirst,
clang::SourceLocation ColonLocSecond,
clang::Expr* Length,
clang::Expr* Stride,
clang::SourceLocation RBracketLoc)
clang::ExprResult RebuildOMPArraySectionExpr(
clang::Expr* Base,
clang::SourceLocation LBracketLoc,
clang::Expr* LowerBound,
clang::SourceLocation ColonLocFirst,
clang::SourceLocation ColonLocSecond,
clang::Expr* Length,
clang::Expr* Stride,
clang::SourceLocation RBracketLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2613
Parameters
- clang::Expr* Base
- clang::SourceLocation LBracketLoc
- clang::Expr* LowerBound
- clang::SourceLocation ColonLocFirst
- clang::SourceLocation ColonLocSecond
- clang::Expr* Length
- clang::Expr* Stride
- clang::SourceLocation RBracketLoc
¶clang::ExprResult RebuildOMPArrayShapingExpr(
clang::Expr* Base,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc,
ArrayRef<clang::Expr*> Dims,
ArrayRef<clang::SourceRange> BracketsRanges)
clang::ExprResult RebuildOMPArrayShapingExpr(
clang::Expr* Base,
clang::SourceLocation LParenLoc,
clang::SourceLocation RParenLoc,
ArrayRef<clang::Expr*> Dims,
ArrayRef<clang::SourceRange> BracketsRanges)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2628
Parameters
- clang::Expr* Base
- clang::SourceLocation LParenLoc
- clang::SourceLocation RParenLoc
- ArrayRef<clang::Expr*> Dims
- ArrayRef<clang::SourceRange> BracketsRanges
¶clang::OMPClause* RebuildOMPBindClause(
clang::OpenMPBindClauseKind Kind,
clang::SourceLocation KindLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPBindClause(
clang::OpenMPBindClauseKind Kind,
clang::SourceLocation KindLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2295
Parameters
- clang::OpenMPBindClauseKind Kind
- clang::SourceLocation KindLoc
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::StmtResult RebuildOMPCanonicalLoop(
clang::Stmt* LoopStmt)
clang::StmtResult RebuildOMPCanonicalLoop(
clang::Stmt* LoopStmt)
Description
Build a new OpenMP Canonical loop. Ensures that the outermost loop in @p LoopStmt is wrapped by a OMPCanonicalLoop.
Declared at: clang/lib/Sema/TreeTransform.h:1577
Parameters
- clang::Stmt* LoopStmt
¶clang::OMPClause* RebuildOMPCollapseClause(
clang::Expr* Num,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPCollapseClause(
clang::Expr* Num,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1688
Parameters
- clang::Expr* Num
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPCopyinClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPCopyinClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1875
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPCopyprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPCopyprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1887
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDefaultClause(
llvm::omp::DefaultKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDefaultClause(
llvm::omp::DefaultKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1699
Parameters
- llvm::omp::DefaultKind Kind
- clang::SourceLocation KindKwLoc
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDefaultmapClause(
clang::OpenMPDefaultmapClauseModifier M,
clang::OpenMPDefaultmapClauseKind Kind,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation MLoc,
clang::SourceLocation KindLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDefaultmapClause(
clang::OpenMPDefaultmapClauseModifier M,
clang::OpenMPDefaultmapClauseKind Kind,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation MLoc,
clang::SourceLocation KindLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2135
Parameters
- clang::OpenMPDefaultmapClauseModifier M
- clang::OpenMPDefaultmapClauseKind Kind
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation MLoc
- clang::SourceLocation KindLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDependClause(
OMPDependClause::DependDataTy Data,
clang::Expr* DepModifier,
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDependClause(
OMPDependClause::DependDataTy Data,
clang::Expr* DepModifier,
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1922
Parameters
- OMPDependClause::DependDataTy Data
- clang::Expr* DepModifier
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDepobjClause(
clang::Expr* Depobj,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDepobjClause(
clang::Expr* Depobj,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1911
Parameters
- clang::Expr* Depobj
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDestroyClause(
clang::Expr* InteropVar,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDestroyClause(
clang::Expr* InteropVar,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2249
Parameters
- clang::Expr* InteropVar
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation VarLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDetachClause(
clang::Expr* Evt,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDetachClause(
clang::Expr* Evt,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2044
Parameters
- clang::Expr* Evt
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDeviceClause(
clang::OpenMPDeviceClauseModifier Modifier,
clang::Expr* Device,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ModifierLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDeviceClause(
clang::OpenMPDeviceClauseModifier Modifier,
clang::Expr* Device,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ModifierLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1935
Parameters
- clang::OpenMPDeviceClauseModifier Modifier
- clang::Expr* Device
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ModifierLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPDistScheduleClause(
clang::OpenMPDistScheduleClauseKind Kind,
clang::Expr* ChunkSize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation KindLoc,
clang::SourceLocation CommaLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPDistScheduleClause(
clang::OpenMPDistScheduleClauseKind Kind,
clang::Expr* ChunkSize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation KindLoc,
clang::SourceLocation CommaLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2055
Parameters
- clang::OpenMPDistScheduleClauseKind Kind
- clang::Expr* ChunkSize
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation KindLoc
- clang::SourceLocation CommaLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPExclusiveClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPExclusiveClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2174
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::StmtResult RebuildOMPExecutableDirective(
clang::OpenMPDirectiveKind Kind,
clang::DeclarationNameInfo DirName,
clang::OpenMPDirectiveKind CancelRegion,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AStmt,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
clang::StmtResult RebuildOMPExecutableDirective(
clang::OpenMPDirectiveKind Kind,
clang::DeclarationNameInfo DirName,
clang::OpenMPDirectiveKind CancelRegion,
ArrayRef<clang::OMPClause*> Clauses,
clang::Stmt* AStmt,
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1585
Parameters
- clang::OpenMPDirectiveKind Kind
- clang::DeclarationNameInfo DirName
- clang::OpenMPDirectiveKind CancelRegion
- ArrayRef<clang::OMPClause*> Clauses
- clang::Stmt* AStmt
- clang::SourceLocation StartLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPFilterClause(
clang::Expr* ThreadID,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPFilterClause(
clang::Expr* ThreadID,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2284
Parameters
- clang::Expr* ThreadID
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPFinalClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPFinalClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1614
Parameters
- clang::Expr* Condition
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPFirstprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPFirstprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1760
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPFlushClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPFlushClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1899
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPFromClause(
ArrayRef<clang::OpenMPMotionModifierKind>
MotionModifiers,
ArrayRef<clang::SourceLocation>
MotionModifiersLoc,
clang::CXXScopeSpec& MapperIdScopeSpec,
clang::DeclarationNameInfo& MapperId,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
clang::OMPClause* RebuildOMPFromClause(
ArrayRef<clang::OpenMPMotionModifierKind>
MotionModifiers,
ArrayRef<clang::SourceLocation>
MotionModifiersLoc,
clang::CXXScopeSpec& MapperIdScopeSpec,
clang::DeclarationNameInfo& MapperId,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2084
Parameters
- ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers
- ArrayRef<clang::SourceLocation> MotionModifiersLoc
- clang::CXXScopeSpec& MapperIdScopeSpec
- clang::DeclarationNameInfo& MapperId
- clang::SourceLocation ColonLoc
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
- ArrayRef<clang::Expr*> UnresolvedMappers
¶clang::OMPClause* RebuildOMPFullClause(
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPFullClause(
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc)
Description
Build a new OpenMP 'full' clause.
Declared at: clang/lib/Sema/TreeTransform.h:1661
Parameters
- clang::SourceLocation StartLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPGrainsizeClause(
clang::Expr* Grainsize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPGrainsizeClause(
clang::Expr* Grainsize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2012
Parameters
- clang::Expr* Grainsize
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPHasDeviceAddrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
clang::OMPClause* RebuildOMPHasDeviceAddrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2126
Parameters
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
¶clang::OMPClause* RebuildOMPHintClause(
clang::Expr* Hint,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPHintClause(
clang::Expr* Hint,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2034
Parameters
- clang::Expr* Hint
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPIfClause(
clang::OpenMPDirectiveKind NameModifier,
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation NameModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPIfClause(
clang::OpenMPDirectiveKind NameModifier,
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation NameModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1599
Parameters
- clang::OpenMPDirectiveKind NameModifier
- clang::Expr* Condition
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation NameModifierLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPInReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
clang::OMPClause* RebuildOMPInReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1831
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
- clang::CXXScopeSpec& ReductionIdScopeSpec
- const clang::DeclarationNameInfo& ReductionId
- ArrayRef<clang::Expr*> UnresolvedReductions
¶clang::OMPClause* RebuildOMPInclusiveClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPInclusiveClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2162
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPInitClause(
clang::Expr* InteropVar,
ArrayRef<clang::Expr*> PrefExprs,
bool IsTarget,
bool IsTargetSync,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPInitClause(
clang::Expr* InteropVar,
ArrayRef<clang::Expr*> PrefExprs,
bool IsTarget,
bool IsTargetSync,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2223
Parameters
- clang::Expr* InteropVar
- ArrayRef<clang::Expr*> PrefExprs
- bool IsTarget
- bool IsTargetSync
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation VarLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPIsDevicePtrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
clang::OMPClause* RebuildOMPIsDevicePtrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2117
Parameters
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
¶clang::ExprResult RebuildOMPIteratorExpr(
clang::SourceLocation IteratorKwLoc,
clang::SourceLocation LLoc,
clang::SourceLocation RLoc,
ArrayRef<Sema::OMPIteratorData> Data)
clang::ExprResult RebuildOMPIteratorExpr(
clang::SourceLocation IteratorKwLoc,
clang::SourceLocation LLoc,
clang::SourceLocation RLoc,
ArrayRef<Sema::OMPIteratorData> Data)
Description
Build a new iterator expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2640
Parameters
- clang::SourceLocation IteratorKwLoc
- clang::SourceLocation LLoc
- clang::SourceLocation RLoc
- ArrayRef<Sema::OMPIteratorData> Data
¶clang::OMPClause* RebuildOMPLastprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPLastprivateClause(
ArrayRef<clang::Expr*> VarList,
clang::OpenMPLastprivateModifier LPKind,
clang::SourceLocation LPKindLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1772
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::OpenMPLastprivateModifier LPKind
- clang::SourceLocation LPKindLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPLinearClause(
ArrayRef<clang::Expr*> VarList,
clang::Expr* Step,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::OpenMPLinearClauseKind Modifier,
clang::SourceLocation ModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPLinearClause(
ArrayRef<clang::Expr*> VarList,
clang::Expr* Step,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::OpenMPLinearClauseKind Modifier,
clang::SourceLocation ModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1846
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::Expr* Step
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::OpenMPLinearClauseKind Modifier
- clang::SourceLocation ModifierLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPMapClause(
ArrayRef<clang::OpenMPMapModifierKind>
MapTypeModifiers,
ArrayRef<clang::SourceLocation>
MapTypeModifiersLoc,
clang::CXXScopeSpec MapperIdScopeSpec,
clang::DeclarationNameInfo MapperId,
clang::OpenMPMapClauseKind MapType,
bool IsMapTypeImplicit,
clang::SourceLocation MapLoc,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
clang::OMPClause* RebuildOMPMapClause(
ArrayRef<clang::OpenMPMapModifierKind>
MapTypeModifiers,
ArrayRef<clang::SourceLocation>
MapTypeModifiersLoc,
clang::CXXScopeSpec MapperIdScopeSpec,
clang::DeclarationNameInfo MapperId,
clang::OpenMPMapClauseKind MapType,
bool IsMapTypeImplicit,
clang::SourceLocation MapLoc,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1948
Parameters
- ArrayRef<clang::OpenMPMapModifierKind> MapTypeModifiers
- ArrayRef<clang::SourceLocation> MapTypeModifiersLoc
- clang::CXXScopeSpec MapperIdScopeSpec
- clang::DeclarationNameInfo MapperId
- clang::OpenMPMapClauseKind MapType
- bool IsMapTypeImplicit
- clang::SourceLocation MapLoc
- clang::SourceLocation ColonLoc
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
- ArrayRef<clang::Expr*> UnresolvedMappers
¶clang::OMPClause* RebuildOMPNocontextClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNocontextClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2273
Parameters
- clang::Expr* Condition
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPNontemporalClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNontemporalClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2150
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPNovariantsClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNovariantsClause(
clang::Expr* Condition,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2261
Parameters
- clang::Expr* Condition
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPNumTasksClause(
clang::Expr* NumTasks,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNumTasksClause(
clang::Expr* NumTasks,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2023
Parameters
- clang::Expr* NumTasks
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPNumTeamsClause(
clang::Expr* NumTeams,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNumTeamsClause(
clang::Expr* NumTeams,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1978
Parameters
- clang::Expr* NumTeams
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPNumThreadsClause(
clang::Expr* NumThreads,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPNumThreadsClause(
clang::Expr* NumThreads,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1625
Parameters
- clang::Expr* NumThreads
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPOrderClause(
clang::OpenMPOrderClauseKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPOrderClause(
clang::OpenMPOrderClauseKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2210
Parameters
- clang::OpenMPOrderClauseKind Kind
- clang::SourceLocation KindKwLoc
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPOrderedClause(
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc,
clang::SourceLocation LParenLoc,
clang::Expr* Num)
clang::OMPClause* RebuildOMPOrderedClause(
clang::SourceLocation StartLoc,
clang::SourceLocation EndLoc,
clang::SourceLocation LParenLoc,
clang::Expr* Num)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1738
Parameters
- clang::SourceLocation StartLoc
- clang::SourceLocation EndLoc
- clang::SourceLocation LParenLoc
- clang::Expr* Num
¶clang::OMPClause* RebuildOMPPartialClause(
clang::Expr* Factor,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPPartialClause(
clang::Expr* Factor,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
Build a new OpenMP 'partial' clause.
Declared at: clang/lib/Sema/TreeTransform.h:1667
Parameters
- clang::Expr* Factor
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPPriorityClause(
clang::Expr* Priority,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPPriorityClause(
clang::Expr* Priority,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2001
Parameters
- clang::Expr* Priority
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPPrivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPPrivateClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1748
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPProcBindClause(
llvm::omp::ProcBindKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPProcBindClause(
llvm::omp::ProcBindKind Kind,
clang::SourceLocation KindKwLoc,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1711
Parameters
- llvm::omp::ProcBindKind Kind
- clang::SourceLocation KindKwLoc
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::OpenMPReductionClauseModifier Modifier,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
clang::OMPClause* RebuildOMPReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::OpenMPReductionClauseModifier Modifier,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ModifierLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1799
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::OpenMPReductionClauseModifier Modifier
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ModifierLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
- clang::CXXScopeSpec& ReductionIdScopeSpec
- const clang::DeclarationNameInfo& ReductionId
- ArrayRef<clang::Expr*> UnresolvedReductions
¶clang::OMPClause* RebuildOMPSafelenClause(
clang::Expr* Len,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPSafelenClause(
clang::Expr* Len,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1637
Parameters
- clang::Expr* Len
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPScheduleClause(
clang::OpenMPScheduleClauseModifier M1,
clang::OpenMPScheduleClauseModifier M2,
clang::OpenMPScheduleClauseKind Kind,
clang::Expr* ChunkSize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation M1Loc,
clang::SourceLocation M2Loc,
clang::SourceLocation KindLoc,
clang::SourceLocation CommaLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPScheduleClause(
clang::OpenMPScheduleClauseModifier M1,
clang::OpenMPScheduleClauseModifier M2,
clang::OpenMPScheduleClauseKind Kind,
clang::Expr* ChunkSize,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation M1Loc,
clang::SourceLocation M2Loc,
clang::SourceLocation KindLoc,
clang::SourceLocation CommaLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1724
Parameters
- clang::OpenMPScheduleClauseModifier M1
- clang::OpenMPScheduleClauseModifier M2
- clang::OpenMPScheduleClauseKind Kind
- clang::Expr* ChunkSize
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation M1Loc
- clang::SourceLocation M2Loc
- clang::SourceLocation KindLoc
- clang::SourceLocation CommaLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPSharedClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPSharedClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1787
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPSimdlenClause(
clang::Expr* Len,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPSimdlenClause(
clang::Expr* Len,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1647
Parameters
- clang::Expr* Len
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPSizesClause(
ArrayRef<clang::Expr*> Sizes,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPSizesClause(
ArrayRef<clang::Expr*> Sizes,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Declared at: clang/lib/Sema/TreeTransform.h:1653
Parameters
- ArrayRef<clang::Expr*> Sizes
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPTaskReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
clang::OMPClause* RebuildOMPTaskReductionClause(
ArrayRef<clang::Expr*> VarList,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation ColonLoc,
clang::SourceLocation EndLoc,
clang::CXXScopeSpec& ReductionIdScopeSpec,
const clang::DeclarationNameInfo& ReductionId,
ArrayRef<clang::Expr*> UnresolvedReductions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1815
Parameters
- ArrayRef<clang::Expr*> VarList
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation ColonLoc
- clang::SourceLocation EndLoc
- clang::CXXScopeSpec& ReductionIdScopeSpec
- const clang::DeclarationNameInfo& ReductionId
- ArrayRef<clang::Expr*> UnresolvedReductions
¶clang::OMPClause* RebuildOMPThreadLimitClause(
clang::Expr* ThreadLimit,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPThreadLimitClause(
clang::Expr* ThreadLimit,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1989
Parameters
- clang::Expr* ThreadLimit
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPToClause(
ArrayRef<clang::OpenMPMotionModifierKind>
MotionModifiers,
ArrayRef<clang::SourceLocation>
MotionModifiersLoc,
clang::CXXScopeSpec& MapperIdScopeSpec,
clang::DeclarationNameInfo& MapperId,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
clang::OMPClause* RebuildOMPToClause(
ArrayRef<clang::OpenMPMotionModifierKind>
MotionModifiers,
ArrayRef<clang::SourceLocation>
MotionModifiersLoc,
clang::CXXScopeSpec& MapperIdScopeSpec,
clang::DeclarationNameInfo& MapperId,
clang::SourceLocation ColonLoc,
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs,
ArrayRef<clang::Expr*> UnresolvedMappers)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2068
Parameters
- ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers
- ArrayRef<clang::SourceLocation> MotionModifiersLoc
- clang::CXXScopeSpec& MapperIdScopeSpec
- clang::DeclarationNameInfo& MapperId
- clang::SourceLocation ColonLoc
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
- ArrayRef<clang::Expr*> UnresolvedMappers
¶clang::OMPClause* RebuildOMPUseClause(
clang::Expr* InteropVar,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPUseClause(
clang::Expr* InteropVar,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation VarLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2238
Parameters
- clang::Expr* InteropVar
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation VarLoc
- clang::SourceLocation EndLoc
¶clang::OMPClause* RebuildOMPUseDeviceAddrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
clang::OMPClause* RebuildOMPUseDeviceAddrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2108
Parameters
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
¶clang::OMPClause* RebuildOMPUseDevicePtrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
clang::OMPClause* RebuildOMPUseDevicePtrClause(
ArrayRef<clang::Expr*> VarList,
const clang::OMPVarListLocTy& Locs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2099
Parameters
- ArrayRef<clang::Expr*> VarList
- const clang::OMPVarListLocTy& Locs
¶clang::OMPClause* RebuildOMPUsesAllocatorsClause(
ArrayRef<Sema::UsesAllocatorsData> Data,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
clang::OMPClause* RebuildOMPUsesAllocatorsClause(
ArrayRef<Sema::UsesAllocatorsData> Data,
clang::SourceLocation StartLoc,
clang::SourceLocation LParenLoc,
clang::SourceLocation EndLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2186
Parameters
- ArrayRef<Sema::UsesAllocatorsData> Data
- clang::SourceLocation StartLoc
- clang::SourceLocation LParenLoc
- clang::SourceLocation EndLoc
¶clang::ExprResult RebuildObjCArrayLiteral(
clang::SourceRange Range,
clang::Expr** Elements,
unsigned int NumElements)
clang::ExprResult RebuildObjCArrayLiteral(
clang::SourceRange Range,
clang::Expr** Elements,
unsigned int NumElements)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3503
Parameters
- clang::SourceRange Range
- clang::Expr** Elements
- unsigned int NumElements
¶clang::StmtResult RebuildObjCAtCatchStmt(
clang::SourceLocation AtLoc,
clang::SourceLocation RParenLoc,
clang::VarDecl* Var,
clang::Stmt* Body)
clang::StmtResult RebuildObjCAtCatchStmt(
clang::SourceLocation AtLoc,
clang::SourceLocation RParenLoc,
clang::VarDecl* Var,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1547
Parameters
- clang::SourceLocation AtLoc
- clang::SourceLocation RParenLoc
- clang::VarDecl* Var
- clang::Stmt* Body
¶clang::StmtResult RebuildObjCAtFinallyStmt(
clang::SourceLocation AtLoc,
clang::Stmt* Body)
clang::StmtResult RebuildObjCAtFinallyStmt(
clang::SourceLocation AtLoc,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1559
Parameters
- clang::SourceLocation AtLoc
- clang::Stmt* Body
¶clang::ExprResult
RebuildObjCAtSynchronizedOperand(
clang::SourceLocation atLoc,
clang::Expr* object)
clang::ExprResult
RebuildObjCAtSynchronizedOperand(
clang::SourceLocation atLoc,
clang::Expr* object)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2318
Parameters
- clang::SourceLocation atLoc
- clang::Expr* object
¶clang::StmtResult RebuildObjCAtSynchronizedStmt(
clang::SourceLocation AtLoc,
clang::Expr* Object,
clang::Stmt* Body)
clang::StmtResult RebuildObjCAtSynchronizedStmt(
clang::SourceLocation AtLoc,
clang::Expr* Object,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2327
Parameters
- clang::SourceLocation AtLoc
- clang::Expr* Object
- clang::Stmt* Body
¶clang::StmtResult RebuildObjCAtThrowStmt(
clang::SourceLocation AtLoc,
clang::Expr* Operand)
clang::StmtResult RebuildObjCAtThrowStmt(
clang::SourceLocation AtLoc,
clang::Expr* Operand)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1568
Parameters
- clang::SourceLocation AtLoc
- clang::Expr* Operand
¶clang::StmtResult RebuildObjCAtTryStmt(
clang::SourceLocation AtLoc,
clang::Stmt* TryBody,
clang::MultiStmtArg CatchStmts,
clang::Stmt* Finally)
clang::StmtResult RebuildObjCAtTryStmt(
clang::SourceLocation AtLoc,
clang::Stmt* TryBody,
clang::MultiStmtArg CatchStmts,
clang::Stmt* Finally)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1523
Parameters
- clang::SourceLocation AtLoc
- clang::Stmt* TryBody
- clang::MultiStmtArg CatchStmts
- clang::Stmt* Finally
¶clang::StmtResult RebuildObjCAutoreleasePoolStmt(
clang::SourceLocation AtLoc,
clang::Stmt* Body)
clang::StmtResult RebuildObjCAutoreleasePoolStmt(
clang::SourceLocation AtLoc,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2336
Parameters
- clang::SourceLocation AtLoc
- clang::Stmt* Body
¶clang::ExprResult RebuildObjCBoxedExpr(
clang::SourceRange SR,
clang::Expr* ValueExpr)
clang::ExprResult RebuildObjCBoxedExpr(
clang::SourceRange SR,
clang::Expr* ValueExpr)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3495
Parameters
- clang::SourceRange SR
- clang::Expr* ValueExpr
¶clang::ExprResult RebuildObjCDictionaryLiteral(
clang::SourceRange Range,
MutableArrayRef<clang::ObjCDictionaryElement>
Elements)
clang::ExprResult RebuildObjCDictionaryLiteral(
clang::SourceRange Range,
MutableArrayRef<clang::ObjCDictionaryElement>
Elements)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3521
Parameters
- clang::SourceRange Range
- MutableArrayRef<clang::ObjCDictionaryElement> Elements
¶clang::ExprResult RebuildObjCEncodeExpr(
clang::SourceLocation AtLoc,
clang::TypeSourceInfo* EncodeTypeInfo,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildObjCEncodeExpr(
clang::SourceLocation AtLoc,
clang::TypeSourceInfo* EncodeTypeInfo,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3530
Parameters
- clang::SourceLocation AtLoc
- clang::TypeSourceInfo* EncodeTypeInfo
- clang::SourceLocation RParenLoc
¶clang::VarDecl* RebuildObjCExceptionDecl(
clang::VarDecl* ExceptionDecl,
clang::TypeSourceInfo* TInfo,
clang::QualType T)
clang::VarDecl* RebuildObjCExceptionDecl(
clang::VarDecl* ExceptionDecl,
clang::TypeSourceInfo* TInfo,
clang::QualType T)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1535
Parameters
- clang::VarDecl* ExceptionDecl
- clang::TypeSourceInfo* TInfo
- clang::QualType T
¶clang::StmtResult RebuildObjCForCollectionStmt(
clang::SourceLocation ForLoc,
clang::Stmt* Element,
clang::Expr* Collection,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
clang::StmtResult RebuildObjCForCollectionStmt(
clang::SourceLocation ForLoc,
clang::Stmt* Element,
clang::Expr* Collection,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2345
Parameters
- clang::SourceLocation ForLoc
- clang::Stmt* Element
- clang::Expr* Collection
- clang::SourceLocation RParenLoc
- clang::Stmt* Body
¶clang::ExprResult RebuildObjCIsaExpr(
clang::Expr* BaseArg,
clang::SourceLocation IsaLoc,
clang::SourceLocation OpLoc,
bool IsArrow)
clang::ExprResult RebuildObjCIsaExpr(
clang::Expr* BaseArg,
clang::SourceLocation IsaLoc,
clang::SourceLocation OpLoc,
bool IsArrow)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3648
Parameters
- clang::Expr* BaseArg
- clang::SourceLocation IsaLoc
- clang::SourceLocation OpLoc
- bool IsArrow
¶clang::ExprResult RebuildObjCIvarRefExpr(
clang::Expr* BaseArg,
clang::ObjCIvarDecl* Ivar,
clang::SourceLocation IvarLoc,
bool IsArrow,
bool IsFreeIvar)
clang::ExprResult RebuildObjCIvarRefExpr(
clang::Expr* BaseArg,
clang::ObjCIvarDecl* Ivar,
clang::SourceLocation IvarLoc,
bool IsArrow,
bool IsFreeIvar)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3593
Parameters
- clang::Expr* BaseArg
- clang::ObjCIvarDecl* Ivar
- clang::SourceLocation IvarLoc
- bool IsArrow
- bool IsFreeIvar
¶clang::ExprResult RebuildObjCMessageExpr(
clang::TypeSourceInfo* ReceiverTypeInfo,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
clang::ExprResult RebuildObjCMessageExpr(
clang::TypeSourceInfo* ReceiverTypeInfo,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
Description
Build a new Objective-C class message.
Declared at: clang/lib/Sema/TreeTransform.h:3537
Parameters
- clang::TypeSourceInfo* ReceiverTypeInfo
- clang::Selector Sel
- ArrayRef<clang::SourceLocation> SelectorLocs
- clang::ObjCMethodDecl* Method
- clang::SourceLocation LBracLoc
- clang::MultiExprArg Args
- clang::SourceLocation RBracLoc
¶clang::ExprResult RebuildObjCMessageExpr(
clang::Expr* Receiver,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
clang::ExprResult RebuildObjCMessageExpr(
clang::Expr* Receiver,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
Description
Build a new Objective-C instance message.
Declared at: clang/lib/Sema/TreeTransform.h:3552
Parameters
- clang::Expr* Receiver
- clang::Selector Sel
- ArrayRef<clang::SourceLocation> SelectorLocs
- clang::ObjCMethodDecl* Method
- clang::SourceLocation LBracLoc
- clang::MultiExprArg Args
- clang::SourceLocation RBracLoc
¶clang::ExprResult RebuildObjCMessageExpr(
clang::SourceLocation SuperLoc,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::QualType SuperType,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
clang::ExprResult RebuildObjCMessageExpr(
clang::SourceLocation SuperLoc,
clang::Selector Sel,
ArrayRef<clang::SourceLocation> SelectorLocs,
clang::QualType SuperType,
clang::ObjCMethodDecl* Method,
clang::SourceLocation LBracLoc,
clang::MultiExprArg Args,
clang::SourceLocation RBracLoc)
Description
Build a new Objective-C instance/class message to 'super'.
Declared at: clang/lib/Sema/TreeTransform.h:3567
Parameters
- clang::SourceLocation SuperLoc
- clang::Selector Sel
- ArrayRef<clang::SourceLocation> SelectorLocs
- clang::QualType SuperType
- clang::ObjCMethodDecl* Method
- clang::SourceLocation LBracLoc
- clang::MultiExprArg Args
- clang::SourceLocation RBracLoc
¶clang::QualType RebuildObjCObjectPointerType(
clang::QualType PointeeType,
clang::SourceLocation Star)
clang::QualType RebuildObjCObjectPointerType(
clang::QualType PointeeType,
clang::SourceLocation Star)
Description
Build a new Objective-C object pointer type given the pointee type. By default, directly builds the pointer type, with no additional semantic analysis.
Declared at: clang/lib/Sema/TreeTransform.h:804
Parameters
- clang::QualType PointeeType
- clang::SourceLocation Star
¶clang::QualType RebuildObjCObjectType(
clang::QualType BaseType,
clang::SourceLocation Loc,
clang::SourceLocation TypeArgsLAngleLoc,
ArrayRef<clang::TypeSourceInfo*> TypeArgs,
clang::SourceLocation TypeArgsRAngleLoc,
clang::SourceLocation ProtocolLAngleLoc,
ArrayRef<clang::ObjCProtocolDecl*> Protocols,
ArrayRef<clang::SourceLocation> ProtocolLocs,
clang::SourceLocation ProtocolRAngleLoc)
clang::QualType RebuildObjCObjectType(
clang::QualType BaseType,
clang::SourceLocation Loc,
clang::SourceLocation TypeArgsLAngleLoc,
ArrayRef<clang::TypeSourceInfo*> TypeArgs,
clang::SourceLocation TypeArgsRAngleLoc,
clang::SourceLocation ProtocolLAngleLoc,
ArrayRef<clang::ObjCProtocolDecl*> Protocols,
ArrayRef<clang::SourceLocation> ProtocolLocs,
clang::SourceLocation ProtocolRAngleLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:790
Parameters
- clang::QualType BaseType
- clang::SourceLocation Loc
- clang::SourceLocation TypeArgsLAngleLoc
- ArrayRef<clang::TypeSourceInfo*> TypeArgs
- clang::SourceLocation TypeArgsRAngleLoc
- clang::SourceLocation ProtocolLAngleLoc
- ArrayRef<clang::ObjCProtocolDecl*> Protocols
- ArrayRef<clang::SourceLocation> ProtocolLocs
- clang::SourceLocation ProtocolRAngleLoc
¶clang::ExprResult RebuildObjCPropertyRefExpr(
clang::Expr* Base,
clang::QualType T,
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::SourceLocation PropertyLoc)
clang::ExprResult RebuildObjCPropertyRefExpr(
clang::Expr* Base,
clang::QualType T,
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::SourceLocation PropertyLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3632
Parameters
- clang::Expr* Base
- clang::QualType T
- clang::ObjCMethodDecl* Getter
- clang::ObjCMethodDecl* Setter
- clang::SourceLocation PropertyLoc
¶clang::ExprResult RebuildObjCPropertyRefExpr(
clang::Expr* BaseArg,
clang::ObjCPropertyDecl* Property,
clang::SourceLocation PropertyLoc)
clang::ExprResult RebuildObjCPropertyRefExpr(
clang::Expr* BaseArg,
clang::ObjCPropertyDecl* Property,
clang::SourceLocation PropertyLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3613
Parameters
- clang::Expr* BaseArg
- clang::ObjCPropertyDecl* Property
- clang::SourceLocation PropertyLoc
¶clang::ExprResult RebuildObjCSubscriptRefExpr(
clang::SourceLocation RB,
clang::Expr* Base,
clang::Expr* Key,
clang::ObjCMethodDecl* getterMethod,
clang::ObjCMethodDecl* setterMethod)
clang::ExprResult RebuildObjCSubscriptRefExpr(
clang::SourceLocation RB,
clang::Expr* Base,
clang::Expr* Key,
clang::ObjCMethodDecl* getterMethod,
clang::ObjCMethodDecl* setterMethod)
Declared at: clang/lib/Sema/TreeTransform.h:3509
Parameters
- clang::SourceLocation RB
- clang::Expr* Base
- clang::Expr* Key
- clang::ObjCMethodDecl* getterMethod
- clang::ObjCMethodDecl* setterMethod
¶clang::QualType RebuildObjCTypeParamType(
const clang::ObjCTypeParamDecl* Decl,
clang::SourceLocation ProtocolLAngleLoc,
ArrayRef<clang::ObjCProtocolDecl*> Protocols,
ArrayRef<clang::SourceLocation> ProtocolLocs,
clang::SourceLocation ProtocolRAngleLoc)
clang::QualType RebuildObjCTypeParamType(
const clang::ObjCTypeParamDecl* Decl,
clang::SourceLocation ProtocolLAngleLoc,
ArrayRef<clang::ObjCProtocolDecl*> Protocols,
ArrayRef<clang::SourceLocation> ProtocolLocs,
clang::SourceLocation ProtocolRAngleLoc)
Declared at: clang/lib/Sema/TreeTransform.h:780
Parameters
- const clang::ObjCTypeParamDecl* Decl
- clang::SourceLocation ProtocolLAngleLoc
- ArrayRef<clang::ObjCProtocolDecl*> Protocols
- ArrayRef<clang::SourceLocation> ProtocolLocs
- clang::SourceLocation ProtocolRAngleLoc
¶clang::ExprResult RebuildOffsetOfExpr(
clang::SourceLocation OperatorLoc,
clang::TypeSourceInfo* Type,
ArrayRef<Sema::OffsetOfComponent> Components,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildOffsetOfExpr(
clang::SourceLocation OperatorLoc,
clang::TypeSourceInfo* Type,
ArrayRef<Sema::OffsetOfComponent> Components,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2549
Parameters
- clang::SourceLocation OperatorLoc
- clang::TypeSourceInfo* Type
- ArrayRef<Sema::OffsetOfComponent> Components
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildPackExpansion(
clang::Expr* Pattern,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
clang::ExprResult RebuildPackExpansion(
clang::Expr* Pattern,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3755
Parameters
- clang::Expr* Pattern
- clang::SourceLocation EllipsisLoc
- Optional<unsigned int> NumExpansions
¶clang::TemplateArgumentLoc RebuildPackExpansion(
clang::TemplateArgumentLoc Pattern,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
clang::TemplateArgumentLoc RebuildPackExpansion(
clang::TemplateArgumentLoc Pattern,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3707
Parameters
- clang::TemplateArgumentLoc Pattern
- clang::SourceLocation EllipsisLoc
- Optional<unsigned int> NumExpansions
¶clang::QualType RebuildPackExpansionType(
clang::QualType Pattern,
clang::SourceRange PatternRange,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
clang::QualType RebuildPackExpansionType(
clang::QualType Pattern,
clang::SourceRange PatternRange,
clang::SourceLocation EllipsisLoc,
Optional<unsigned int> NumExpansions)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1185
Parameters
- clang::QualType Pattern
- clang::SourceRange PatternRange
- clang::SourceLocation EllipsisLoc
- Optional<unsigned int> NumExpansions
¶clang::ExprResult RebuildParenExpr(
clang::Expr* SubExpr,
clang::SourceLocation LParen,
clang::SourceLocation RParen)
clang::ExprResult RebuildParenExpr(
clang::Expr* SubExpr,
clang::SourceLocation LParen,
clang::SourceLocation RParen)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2517
Parameters
- clang::Expr* SubExpr
- clang::SourceLocation LParen
- clang::SourceLocation RParen
¶clang::ExprResult RebuildParenListExpr(
clang::SourceLocation LParenLoc,
clang::MultiExprArg SubExprs,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildParenListExpr(
clang::SourceLocation LParenLoc,
clang::MultiExprArg SubExprs,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2855
Parameters
- clang::SourceLocation LParenLoc
- clang::MultiExprArg SubExprs
- clang::SourceLocation RParenLoc
¶clang::QualType RebuildParenType(
clang::QualType InnerType)
clang::QualType RebuildParenType(
clang::QualType InnerType)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1020
Parameters
- clang::QualType InnerType
¶clang::QualType RebuildPipeType(
clang::QualType ValueType,
clang::SourceLocation KWLoc,
bool isReadPipe)
clang::QualType RebuildPipeType(
clang::QualType ValueType,
clang::SourceLocation KWLoc,
bool isReadPipe)
Description
Build a new pipe type given its value type.
Declared at: clang/lib/Sema/TreeTransform.h:1200
Parameters
- clang::QualType ValueType
- clang::SourceLocation KWLoc
- bool isReadPipe
¶clang::QualType RebuildPointerType(
clang::QualType PointeeType,
clang::SourceLocation Sigil)
clang::QualType RebuildPointerType(
clang::QualType PointeeType,
clang::SourceLocation Sigil)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:752
Parameters
- clang::QualType PointeeType
- clang::SourceLocation Sigil
¶clang::ExprResult RebuildPredefinedExpr(
clang::SourceLocation Loc,
PredefinedExpr::IdentKind IK)
clang::ExprResult RebuildPredefinedExpr(
clang::SourceLocation Loc,
PredefinedExpr::IdentKind IK)
Description
Build a new predefined expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2482
Parameters
- clang::SourceLocation Loc
- PredefinedExpr::IdentKind IK
¶clang::QualType RebuildQualifiedType(
clang::QualType T,
clang::QualifiedTypeLoc TL)
clang::QualType RebuildQualifiedType(
clang::QualType T,
clang::QualifiedTypeLoc TL)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:746
Parameters
¶clang::QualType RebuildRecordType(
clang::RecordDecl* Record)
clang::QualType RebuildRecordType(
clang::RecordDecl* Record)
Description
Build a new class/struct/union type.
Declared at: clang/lib/Sema/TreeTransform.h:953
Parameters
- clang::RecordDecl* Record
¶clang::ExprResult RebuildRecoveryExpr(
clang::SourceLocation BeginLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::Expr*> SubExprs,
clang::QualType Type)
clang::ExprResult RebuildRecoveryExpr(
clang::SourceLocation BeginLoc,
clang::SourceLocation EndLoc,
ArrayRef<clang::Expr*> SubExprs,
clang::QualType Type)
Declared at: clang/lib/Sema/TreeTransform.h:3798
Parameters
- clang::SourceLocation BeginLoc
- clang::SourceLocation EndLoc
- ArrayRef<clang::Expr*> SubExprs
- clang::QualType Type
¶clang::QualType RebuildReferenceType(
clang::QualType ReferentType,
bool LValue,
clang::SourceLocation Sigil)
clang::QualType RebuildReferenceType(
clang::QualType ReferentType,
bool LValue,
clang::SourceLocation Sigil)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:768
Parameters
- clang::QualType ReferentType
- bool LValue
- whether the type was written with an lvalue sigil or an rvalue sigil.
- clang::SourceLocation Sigil
¶clang::ExprResult RebuildRequiresExpr(
clang::SourceLocation RequiresKWLoc,
clang::RequiresExprBodyDecl* Body,
ArrayRef<clang::ParmVarDecl*> LocalParameters,
ArrayRef<concepts::Requirement*> Requirements,
clang::SourceLocation ClosingBraceLoc)
clang::ExprResult RebuildRequiresExpr(
clang::SourceLocation RequiresKWLoc,
clang::RequiresExprBodyDecl* Body,
ArrayRef<clang::ParmVarDecl*> LocalParameters,
ArrayRef<concepts::Requirement*> Requirements,
clang::SourceLocation ClosingBraceLoc)
Description
Build a new requires expression.
By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:3446
Parameters
- clang::SourceLocation RequiresKWLoc
- clang::RequiresExprBodyDecl* Body
- ArrayRef<clang::ParmVarDecl*> LocalParameters
- ArrayRef<concepts::Requirement*> Requirements
- clang::SourceLocation ClosingBraceLoc
¶clang::StmtResult RebuildReturnStmt(
clang::SourceLocation ReturnLoc,
clang::Expr* Result)
clang::StmtResult RebuildReturnStmt(
clang::SourceLocation ReturnLoc,
clang::Expr* Result)
Description
Build a new return statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1413
Parameters
- clang::SourceLocation ReturnLoc
- clang::Expr* Result
¶clang::StmtResult RebuildSEHExceptStmt(
clang::SourceLocation Loc,
clang::Expr* FilterExpr,
clang::Stmt* Block)
clang::StmtResult RebuildSEHExceptStmt(
clang::SourceLocation Loc,
clang::Expr* FilterExpr,
clang::Stmt* Block)
Declared at: clang/lib/Sema/TreeTransform.h:2462
Parameters
- clang::SourceLocation Loc
- clang::Expr* FilterExpr
- clang::Stmt* Block
¶clang::StmtResult RebuildSEHFinallyStmt(
clang::SourceLocation Loc,
clang::Stmt* Block)
clang::StmtResult RebuildSEHFinallyStmt(
clang::SourceLocation Loc,
clang::Stmt* Block)
Declared at: clang/lib/Sema/TreeTransform.h:2467
Parameters
- clang::SourceLocation Loc
- clang::Stmt* Block
¶clang::StmtResult RebuildSEHTryStmt(
bool IsCXXTry,
clang::SourceLocation TryLoc,
clang::Stmt* TryBlock,
clang::Stmt* Handler)
clang::StmtResult RebuildSEHTryStmt(
bool IsCXXTry,
clang::SourceLocation TryLoc,
clang::Stmt* TryBlock,
clang::Stmt* Handler)
Declared at: clang/lib/Sema/TreeTransform.h:2457
Parameters
- bool IsCXXTry
- clang::SourceLocation TryLoc
- clang::Stmt* TryBlock
- clang::Stmt* Handler
¶clang::ExprResult RebuildSYCLUniqueStableNameExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LParen,
clang::SourceLocation RParen,
clang::TypeSourceInfo* TSI)
clang::ExprResult RebuildSYCLUniqueStableNameExpr(
clang::SourceLocation OpLoc,
clang::SourceLocation LParen,
clang::SourceLocation RParen,
clang::TypeSourceInfo* TSI)
Declared at: clang/lib/Sema/TreeTransform.h:2471
Parameters
- clang::SourceLocation OpLoc
- clang::SourceLocation LParen
- clang::SourceLocation RParen
- clang::TypeSourceInfo* TSI
¶clang::ExprResult RebuildShuffleVectorExpr(
clang::SourceLocation BuiltinLoc,
clang::MultiExprArg SubExprs,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildShuffleVectorExpr(
clang::SourceLocation BuiltinLoc,
clang::MultiExprArg SubExprs,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3665
Parameters
- clang::SourceLocation BuiltinLoc
- clang::MultiExprArg SubExprs
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildSizeOfPackExpr(
clang::SourceLocation OperatorLoc,
clang::NamedDecl* Pack,
clang::SourceLocation PackLoc,
clang::SourceLocation RParenLoc,
Optional<unsigned int> Length,
ArrayRef<clang::TemplateArgument> PartialArgs)
clang::ExprResult RebuildSizeOfPackExpr(
clang::SourceLocation OperatorLoc,
clang::NamedDecl* Pack,
clang::SourceLocation PackLoc,
clang::SourceLocation RParenLoc,
Optional<unsigned int> Length,
ArrayRef<clang::TemplateArgument> PartialArgs)
Description
Build a new expression to compute the length of a parameter pack.
Declared at: clang/lib/Sema/TreeTransform.h:3400
Parameters
- clang::SourceLocation OperatorLoc
- clang::NamedDecl* Pack
- clang::SourceLocation PackLoc
- clang::SourceLocation RParenLoc
- Optional<unsigned int> Length
- ArrayRef<clang::TemplateArgument> PartialArgs
¶clang::ExprResult RebuildSourceLocExpr(
SourceLocExpr::IdentKind Kind,
clang::QualType ResultTy,
clang::SourceLocation BuiltinLoc,
clang::SourceLocation RPLoc,
clang::DeclContext* ParentContext)
clang::ExprResult RebuildSourceLocExpr(
SourceLocExpr::IdentKind Kind,
clang::QualType ResultTy,
clang::SourceLocation BuiltinLoc,
clang::SourceLocation RPLoc,
clang::DeclContext* ParentContext)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3415
Parameters
- SourceLocExpr::IdentKind Kind
- clang::QualType ResultTy
- clang::SourceLocation BuiltinLoc
- clang::SourceLocation RPLoc
- clang::DeclContext* ParentContext
¶clang::ExprResult RebuildStmtExpr(
clang::SourceLocation LParenLoc,
clang::Stmt* SubStmt,
clang::SourceLocation RParenLoc,
unsigned int TemplateDepth)
clang::ExprResult RebuildStmtExpr(
clang::SourceLocation LParenLoc,
clang::Stmt* SubStmt,
clang::SourceLocation RParenLoc,
unsigned int TemplateDepth)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:2875
Parameters
- clang::SourceLocation LParenLoc
- clang::Stmt* SubStmt
- clang::SourceLocation RParenLoc
- unsigned int TemplateDepth
¶clang::StmtResult RebuildSwitchStmtBody(
clang::SourceLocation SwitchLoc,
clang::Stmt* Switch,
clang::Stmt* Body)
clang::StmtResult RebuildSwitchStmtBody(
clang::SourceLocation SwitchLoc,
clang::Stmt* Switch,
clang::Stmt* Body)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1352
Parameters
- clang::SourceLocation SwitchLoc
- clang::Stmt* Switch
- clang::Stmt* Body
¶clang::StmtResult RebuildSwitchStmtStart(
clang::SourceLocation SwitchLoc,
clang::SourceLocation LParenLoc,
clang::Stmt* Init,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc)
clang::StmtResult RebuildSwitchStmtStart(
clang::SourceLocation SwitchLoc,
clang::SourceLocation LParenLoc,
clang::Stmt* Init,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1340
Parameters
- clang::SourceLocation SwitchLoc
- clang::SourceLocation LParenLoc
- clang::Stmt* Init
- Sema::ConditionResult Cond
- clang::SourceLocation RParenLoc
¶clang::ExprResult RebuildTemplateIdExpr(
const clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
clang::LookupResult& R,
bool RequiresADL,
const clang::TemplateArgumentListInfo*
TemplateArgs)
clang::ExprResult RebuildTemplateIdExpr(
const clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
clang::LookupResult& R,
bool RequiresADL,
const clang::TemplateArgumentListInfo*
TemplateArgs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3264
Parameters
- const clang::CXXScopeSpec& SS
- clang::SourceLocation TemplateKWLoc
- clang::LookupResult& R
- bool RequiresADL
- const clang::TemplateArgumentListInfo* TemplateArgs
¶clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
const clang::IdentifierInfo& Name,
clang::SourceLocation NameLoc,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
bool AllowInjectedClassName)
clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
const clang::IdentifierInfo& Name,
clang::SourceLocation NameLoc,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
bool AllowInjectedClassName)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1228
Parameters
- clang::CXXScopeSpec& SS
- clang::SourceLocation TemplateKWLoc
- const clang::IdentifierInfo& Name
- clang::SourceLocation NameLoc
- clang::QualType ObjectType
- clang::NamedDecl* FirstQualifierInScope
- bool AllowInjectedClassName
¶clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
clang::OverloadedOperatorKind Operator,
clang::SourceLocation NameLoc,
clang::QualType ObjectType,
bool AllowInjectedClassName)
clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
clang::SourceLocation TemplateKWLoc,
clang::OverloadedOperatorKind Operator,
clang::SourceLocation NameLoc,
clang::QualType ObjectType,
bool AllowInjectedClassName)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1242
Parameters
- clang::CXXScopeSpec& SS
- clang::SourceLocation TemplateKWLoc
- clang::OverloadedOperatorKind Operator
- clang::SourceLocation NameLoc
- clang::QualType ObjectType
- bool AllowInjectedClassName
¶clang::TemplateName RebuildTemplateName(
clang::TemplateTemplateParmDecl* Param,
const clang::TemplateArgument& ArgPack)
clang::TemplateName RebuildTemplateName(
clang::TemplateTemplateParmDecl* Param,
const clang::TemplateArgument& ArgPack)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1255
Parameters
- clang::TemplateTemplateParmDecl* Param
- const clang::TemplateArgument& ArgPack
¶clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
bool TemplateKW,
clang::TemplateDecl* Template)
clang::TemplateName RebuildTemplateName(
clang::CXXScopeSpec& SS,
bool TemplateKW,
clang::TemplateDecl* Template)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1217
Parameters
- clang::CXXScopeSpec& SS
- bool TemplateKW
- clang::TemplateDecl* Template
¶clang::QualType RebuildTemplateSpecializationType(
clang::TemplateName Template,
clang::SourceLocation TemplateLoc,
clang::TemplateArgumentListInfo& Args)
clang::QualType RebuildTemplateSpecializationType(
clang::TemplateName Template,
clang::SourceLocation TemplateLoc,
clang::TemplateArgumentListInfo& Args)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:1012
Parameters
- clang::TemplateName Template
- clang::SourceLocation TemplateLoc
- clang::TemplateArgumentListInfo& Args
¶clang::QualType RebuildTypeOfExprType(
clang::Expr* Underlying,
clang::SourceLocation Loc)
clang::QualType RebuildTypeOfExprType(
clang::Expr* Underlying,
clang::SourceLocation Loc)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:966
Parameters
- clang::Expr* Underlying
- clang::SourceLocation Loc
¶clang::QualType RebuildTypeOfType(
clang::QualType Underlying)
clang::QualType RebuildTypeOfType(
clang::QualType Underlying)
Description
Build a new typeof(type) type. By default, builds a new TypeOfType with the given underlying type.
Declared at: clang/lib/Sema/TreeTransform.h:971
Parameters
- clang::QualType Underlying
¶concepts::TypeRequirement* RebuildTypeRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag)
concepts::TypeRequirement* RebuildTypeRequirement(
concepts::Requirement::SubstitutionDiagnostic*
SubstDiag)
Declared at: clang/lib/Sema/TreeTransform.h:3456
Parameters
¶concepts::TypeRequirement* RebuildTypeRequirement(
clang::TypeSourceInfo* T)
concepts::TypeRequirement* RebuildTypeRequirement(
clang::TypeSourceInfo* T)
Declared at: clang/lib/Sema/TreeTransform.h:3461
Parameters
¶clang::ExprResult RebuildTypeTrait(
clang::TypeTrait Trait,
clang::SourceLocation StartLoc,
ArrayRef<clang::TypeSourceInfo*> Args,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildTypeTrait(
clang::TypeTrait Trait,
clang::SourceLocation StartLoc,
ArrayRef<clang::TypeSourceInfo*> Args,
clang::SourceLocation RParenLoc)
Description
Build a new type trait expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:3207
Parameters
- clang::TypeTrait Trait
- clang::SourceLocation StartLoc
- ArrayRef<clang::TypeSourceInfo*> Args
- clang::SourceLocation RParenLoc
¶clang::QualType RebuildTypedefType(
clang::TypedefNameDecl* Typedef)
clang::QualType RebuildTypedefType(
clang::TypedefNameDecl* Typedef)
Description
Build a new typedef type.
Declared at: clang/lib/Sema/TreeTransform.h:942
Parameters
- clang::TypedefNameDecl* Typedef
¶clang::ExprResult RebuildUnaryExprOrTypeTrait(
clang::TypeSourceInfo* TInfo,
clang::SourceLocation OpLoc,
clang::UnaryExprOrTypeTrait ExprKind,
clang::SourceRange R)
clang::ExprResult RebuildUnaryExprOrTypeTrait(
clang::TypeSourceInfo* TInfo,
clang::SourceLocation OpLoc,
clang::UnaryExprOrTypeTrait ExprKind,
clang::SourceRange R)
Description
Build a new sizeof, alignof or vec_step expression with a type argument. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2562
Parameters
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation OpLoc
- clang::UnaryExprOrTypeTrait ExprKind
- clang::SourceRange R
¶clang::ExprResult RebuildUnaryExprOrTypeTrait(
clang::Expr* SubExpr,
clang::SourceLocation OpLoc,
clang::UnaryExprOrTypeTrait ExprKind,
clang::SourceRange R)
clang::ExprResult RebuildUnaryExprOrTypeTrait(
clang::Expr* SubExpr,
clang::SourceLocation OpLoc,
clang::UnaryExprOrTypeTrait ExprKind,
clang::SourceRange R)
Description
Build a new sizeof, alignof or vec step expression with an expression argument. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2574
Parameters
- clang::Expr* SubExpr
- clang::SourceLocation OpLoc
- clang::UnaryExprOrTypeTrait ExprKind
- clang::SourceRange R
¶clang::ExprResult RebuildUnaryOperator(
clang::SourceLocation OpLoc,
clang::UnaryOperatorKind Opc,
clang::Expr* SubExpr)
clang::ExprResult RebuildUnaryOperator(
clang::SourceLocation OpLoc,
clang::UnaryOperatorKind Opc,
clang::Expr* SubExpr)
Description
Build a new unary operator expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2539
Parameters
- clang::SourceLocation OpLoc
- clang::UnaryOperatorKind Opc
- clang::Expr* SubExpr
¶clang::QualType RebuildUnaryTransformType(
clang::QualType BaseType,
UnaryTransformType::UTTKind UKind,
clang::SourceLocation Loc)
clang::QualType RebuildUnaryTransformType(
clang::QualType BaseType,
UnaryTransformType::UTTKind UKind,
clang::SourceLocation Loc)
Description
Build a new unary transform type.
Declared at: clang/lib/Sema/TreeTransform.h:974
Parameters
- clang::QualType BaseType
- UnaryTransformType::UTTKind UKind
- clang::SourceLocation Loc
¶clang::ExprResult RebuildUnresolvedMemberExpr(
clang::Expr* BaseE,
clang::QualType BaseType,
clang::SourceLocation OperatorLoc,
bool IsArrow,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
clang::NamedDecl* FirstQualifierInScope,
clang::LookupResult& R,
const clang::TemplateArgumentListInfo*
TemplateArgs)
clang::ExprResult RebuildUnresolvedMemberExpr(
clang::Expr* BaseE,
clang::QualType BaseType,
clang::SourceLocation OperatorLoc,
bool IsArrow,
clang::NestedNameSpecifierLoc QualifierLoc,
clang::SourceLocation TemplateKWLoc,
clang::NamedDecl* FirstQualifierInScope,
clang::LookupResult& R,
const clang::TemplateArgumentListInfo*
TemplateArgs)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:3373
Parameters
- clang::Expr* BaseE
- clang::QualType BaseType
- clang::SourceLocation OperatorLoc
- bool IsArrow
- clang::NestedNameSpecifierLoc QualifierLoc
- clang::SourceLocation TemplateKWLoc
- clang::NamedDecl* FirstQualifierInScope
- clang::LookupResult& R
- const clang::TemplateArgumentListInfo* TemplateArgs
¶clang::QualType RebuildUnresolvedUsingType(
clang::SourceLocation NameLoc,
clang::Decl* D)
clang::QualType RebuildUnresolvedUsingType(
clang::SourceLocation NameLoc,
clang::Decl* D)
Description
Rebuild an unresolved typename type, given the decl that the UnresolvedUsingTypenameDecl was transformed to.
Declared at: clang/lib/Sema/TreeTransform.h:934
Parameters
- clang::SourceLocation NameLoc
- clang::Decl* D
¶clang::QualType RebuildUsingType(
clang::UsingShadowDecl* Found,
clang::QualType Underlying)
clang::QualType RebuildUsingType(
clang::UsingShadowDecl* Found,
clang::QualType Underlying)
Description
Build a new type found via an alias.
Declared at: clang/lib/Sema/TreeTransform.h:937
Parameters
- clang::UsingShadowDecl* Found
- clang::QualType Underlying
¶clang::ExprResult RebuildVAArgExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* SubExpr,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc)
clang::ExprResult RebuildVAArgExpr(
clang::SourceLocation BuiltinLoc,
clang::Expr* SubExpr,
clang::TypeSourceInfo* TInfo,
clang::SourceLocation RParenLoc)
Description
Build a new \c va_arg expression. By default, performs semantic analysis to build the new expression. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:2843
Parameters
- clang::SourceLocation BuiltinLoc
- clang::Expr* SubExpr
- clang::TypeSourceInfo* TInfo
- clang::SourceLocation RParenLoc
¶clang::QualType RebuildVariableArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
clang::QualType RebuildVariableArrayType(
clang::QualType ElementType,
ArrayType::ArraySizeModifier SizeMod,
clang::Expr* SizeExpr,
unsigned int IndexTypeQuals,
clang::SourceRange BracketsRange)
Description
Build a new variable-length 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.
Declared at: clang/lib/Sema/TreeTransform.h:848
Parameters
- clang::QualType ElementType
- ArrayType::ArraySizeModifier SizeMod
- clang::Expr* SizeExpr
- unsigned int IndexTypeQuals
- clang::SourceRange BracketsRange
¶clang::QualType RebuildVectorType(
clang::QualType ElementType,
unsigned int NumElements,
VectorType::VectorKind VecKind)
clang::QualType RebuildVectorType(
clang::QualType ElementType,
unsigned int NumElements,
VectorType::VectorKind VecKind)
Description
Build a new 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.
Declared at: clang/lib/Sema/TreeTransform.h:870
Parameters
- clang::QualType ElementType
- unsigned int NumElements
- VectorType::VectorKind VecKind
¶clang::StmtResult RebuildWhileStmt(
clang::SourceLocation WhileLoc,
clang::SourceLocation LParenLoc,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
clang::StmtResult RebuildWhileStmt(
clang::SourceLocation WhileLoc,
clang::SourceLocation LParenLoc,
Sema::ConditionResult Cond,
clang::SourceLocation RParenLoc,
clang::Stmt* Body)
Description
Build a new while statement. By default, performs semantic analysis to build the new statement. Subclasses may override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:1361
Parameters
- clang::SourceLocation WhileLoc
- clang::SourceLocation LParenLoc
- Sema::ConditionResult Cond
- clang::SourceLocation RParenLoc
- clang::Stmt* Body
¶void RememberPartiallySubstitutedPack(
clang::TemplateArgument Arg)
void RememberPartiallySubstitutedPack(
clang::TemplateArgument Arg)
Description
"Remember" the partially-substituted pack template argument after performing an instantiation that must preserve the parameter pack use. This routine is meant to be overridden by the template instantiator.
Declared at: clang/lib/Sema/TreeTransform.h:303
Parameters
¶bool ReplacingOriginal()
bool ReplacingOriginal()
Description
Whether the transformation is forming an expression or statement that replaces the original. In this case, we'll reuse mangling numbers from existing lambdas.
Declared at: clang/lib/Sema/TreeTransform.h:160
¶clang::StmtResult SkipLambdaBody(
clang::LambdaExpr* E,
clang::Stmt* Body)
clang::StmtResult SkipLambdaBody(
clang::LambdaExpr* E,
clang::Stmt* Body)
Description
Alternative implementation of TransformLambdaBody that skips transforming the body.
Declared at: clang/lib/Sema/TreeTransform.h:696
Parameters
- clang::LambdaExpr* E
- clang::Stmt* Body
¶clang::ExprResult TransformAddressOfOperand(
clang::Expr* E)
clang::ExprResult TransformAddressOfOperand(
clang::Expr* E)
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:708
Parameters
- clang::Expr* E
¶const clang::Attr* TransformAttr(
const clang::Attr* S)
const clang::Attr* TransformAttr(
const clang::Attr* S)
Description
Transform the given attribute. By default, this routine transforms a statement by delegating to the appropriate TransformXXXAttr function to transform a specific kind of attribute. Subclasses may override this function to transform attributed statements using some other mechanism.
Declared at: clang/lib/Sema/TreeTransform.h:383
Parameters
- const clang::Attr* S
Returns
the transformed attribute
¶clang::ExprResult TransformCXXNamedCastExpr(
clang::CXXNamedCastExpr* E)
clang::ExprResult TransformCXXNamedCastExpr(
clang::CXXNamedCastExpr* E)
Declared at: clang/lib/Sema/TreeTransform.h:701
Parameters
¶clang::StmtResult TransformCompoundStmt(
clang::CompoundStmt* S,
bool IsStmtExpr)
clang::StmtResult TransformCompoundStmt(
clang::CompoundStmt* S,
bool IsStmtExpr)
Declared at: clang/lib/Sema/TreeTransform.h:700
Parameters
- clang::CompoundStmt* S
- bool IsStmtExpr
¶Sema::ConditionResult TransformCondition(
clang::SourceLocation Loc,
clang::VarDecl* Var,
clang::Expr* Expr,
Sema::ConditionKind Kind)
Sema::ConditionResult TransformCondition(
clang::SourceLocation Loc,
clang::VarDecl* Var,
clang::Expr* Expr,
Sema::ConditionKind Kind)
Description
Transform the specified condition. By default, this transforms the variable and expression and rebuilds the condition.
Declared at: clang/lib/Sema/TreeTransform.h:461
Parameters
- clang::SourceLocation Loc
- clang::VarDecl* Var
- clang::Expr* Expr
- Sema::ConditionKind Kind
¶clang::Decl* TransformDecl(
clang::SourceLocation Loc,
clang::Decl* D)
clang::Decl* TransformDecl(
clang::SourceLocation Loc,
clang::Decl* D)
Description
Transform the given declaration, which is referenced from a type or expression. By default, acts as the identity function on declarations, unless the transformer has had to transform the declaration itself. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:448
Parameters
¶clang::DeclarationNameInfo
TransformDeclarationNameInfo(
const clang::DeclarationNameInfo& NameInfo)
clang::DeclarationNameInfo
TransformDeclarationNameInfo(
const clang::DeclarationNameInfo& NameInfo)
Description
Transform the given declaration name. By default, transforms the types of conversion function, constructor, and destructor names and then (if needed) rebuilds the declaration name. Identifiers and selectors are returned unmodified. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:528
Parameters
- const clang::DeclarationNameInfo& NameInfo
¶clang::Decl* TransformDefinition(
clang::SourceLocation Loc,
clang::Decl* D)
clang::Decl* TransformDefinition(
clang::SourceLocation Loc,
clang::Decl* D)
Description
Transform the definition of the given declaration. By default, invokes TransformDecl() to transform the declaration. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:489
Parameters
¶clang::QualType TransformDependentNameType(
clang::TypeLocBuilder& TLB,
clang::DependentNameTypeLoc TL,
bool DeducibleTSTContext)
clang::QualType TransformDependentNameType(
clang::TypeLocBuilder& TLB,
clang::DependentNameTypeLoc TL,
bool DeducibleTSTContext)
Declared at: clang/lib/Sema/TreeTransform.h:3818
Parameters
- clang::TypeLocBuilder& TLB
- clang::DependentNameTypeLoc TL
- bool DeducibleTSTContext
¶clang::ExprResult
TransformDependentScopeDeclRefExpr(
clang::DependentScopeDeclRefExpr* E,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
clang::ExprResult
TransformDependentScopeDeclRefExpr(
clang::DependentScopeDeclRefExpr* E,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
Declared at: clang/lib/Sema/TreeTransform.h:710
Parameters
- clang::DependentScopeDeclRefExpr* E
- bool IsAddressOfOperand
- clang::TypeSourceInfo** RecoveryTSI
¶clang::QualType
TransformDependentTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::DependentTemplateSpecializationTypeLoc
TL,
clang::TemplateName Template,
clang::CXXScopeSpec& SS)
clang::QualType
TransformDependentTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::DependentTemplateSpecializationTypeLoc
TL,
clang::TemplateName Template,
clang::CXXScopeSpec& SS)
Declared at: clang/lib/Sema/TreeTransform.h:659
Parameters
- clang::TypeLocBuilder& TLB
- clang::DependentTemplateSpecializationTypeLoc TL
- clang::TemplateName Template
- clang::CXXScopeSpec& SS
¶clang::QualType
TransformDependentTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::DependentTemplateSpecializationTypeLoc
TL,
clang::NestedNameSpecifierLoc QualifierLoc)
clang::QualType
TransformDependentTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::DependentTemplateSpecializationTypeLoc
TL,
clang::NestedNameSpecifierLoc QualifierLoc)
Declared at: clang/lib/Sema/TreeTransform.h:664
Parameters
- clang::TypeLocBuilder& TLB
- clang::DependentTemplateSpecializationTypeLoc TL
- clang::NestedNameSpecifierLoc QualifierLoc
¶bool TransformExceptionSpec(
clang::SourceLocation Loc,
FunctionProtoType::ExceptionSpecInfo& ESI,
SmallVectorImpl<clang::QualType>& Exceptions,
bool& Changed)
bool TransformExceptionSpec(
clang::SourceLocation Loc,
FunctionProtoType::ExceptionSpecInfo& ESI,
SmallVectorImpl<clang::QualType>& Exceptions,
bool& Changed)
Declared at: clang/lib/Sema/TreeTransform.h:646
Parameters
- clang::SourceLocation Loc
- FunctionProtoType::ExceptionSpecInfo& ESI
- SmallVectorImpl<clang::QualType>& Exceptions
- bool& Changed
¶clang::ExprResult TransformExpr(clang::Expr* E)
clang::ExprResult TransformExpr(clang::Expr* E)
Description
Transform the given expression. By default, this routine transforms an expression by delegating to the appropriate TransformXXXExpr function to build a new expression. Subclasses may override this function to transform expressions using some other mechanism.
Declared at: clang/lib/Sema/TreeTransform.h:404
Parameters
- clang::Expr* E
Returns
the transformed expression.
¶concepts::ExprRequirement*
TransformExprRequirement(
concepts::ExprRequirement* Req)
concepts::ExprRequirement*
TransformExprRequirement(
concepts::ExprRequirement* Req)
Declared at: clang/lib/Sema/TreeTransform.h:535
Parameters
¶bool TransformExprs(
clang::Expr* const* Inputs,
unsigned int NumInputs,
bool IsCall,
SmallVectorImpl<clang::Expr*>& Outputs,
bool* ArgChanged = nullptr)
bool TransformExprs(
clang::Expr* const* Inputs,
unsigned int NumInputs,
bool IsCall,
SmallVectorImpl<clang::Expr*>& Outputs,
bool* ArgChanged = nullptr)
Description
Transform the given list of expressions. This routine transforms a list of expressions by invoking\c TransformExpr() for each subexpression. However, it also provides support for variadic templates by expanding any pack expansions (if the derived class permits such expansion) along the way. When pack expansions are present, the number of outputs may not equal the number of inputs.
Declared at: clang/lib/Sema/TreeTransform.h:438
Parameters
- clang::Expr* const* Inputs
- The set of expressions to be transformed.
- unsigned int NumInputs
- The number of expressions in \c Inputs.
- bool IsCall
- If \c true, then this transform is being performed on function-call arguments, and any arguments that should be dropped, will be.
- SmallVectorImpl<clang::Expr*>& Outputs
- The transformed input expressions will be added to this vector.
- bool* ArgChanged = nullptr
- If non-NULL, will be set \c true if any argument changed due to transformation.
Returns
true if an error occurred, false otherwise.
¶clang::NamedDecl* TransformFirstQualifierInScope(
clang::NamedDecl* D,
clang::SourceLocation Loc)
clang::NamedDecl* TransformFirstQualifierInScope(
clang::NamedDecl* D,
clang::SourceLocation Loc)
Description
Transform the given declaration, which was the first part of a nested-name-specifier in a member access expression. This specific declaration transformation only applies to the first identifier in a nested-name-specifier of a member access expression, e.g., the \c T in \c x->T::member By default, invokes TransformDecl() to transform the declaration. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:502
Parameters
¶template <typename Fn>
clang::QualType TransformFunctionProtoType(
clang::TypeLocBuilder& TLB,
clang::FunctionProtoTypeLoc TL,
clang::CXXRecordDecl* ThisContext,
clang::Qualifiers ThisTypeQuals,
Fn TransformExceptionSpec)
template <typename Fn>
clang::QualType TransformFunctionProtoType(
clang::TypeLocBuilder& TLB,
clang::FunctionProtoTypeLoc TL,
clang::CXXRecordDecl* ThisContext,
clang::Qualifiers ThisTypeQuals,
Fn TransformExceptionSpec)
Declared at: clang/lib/Sema/TreeTransform.h:640
Templates
- Fn
Parameters
- clang::TypeLocBuilder& TLB
- clang::FunctionProtoTypeLoc TL
- clang::CXXRecordDecl* ThisContext
- clang::Qualifiers ThisTypeQuals
- Fn TransformExceptionSpec
¶clang::ParmVarDecl* TransformFunctionTypeParam(
clang::ParmVarDecl* OldParm,
int indexAdjustment,
Optional<unsigned int> NumExpansions,
bool ExpectParameterPack)
clang::ParmVarDecl* TransformFunctionTypeParam(
clang::ParmVarDecl* OldParm,
int indexAdjustment,
Optional<unsigned int> NumExpansions,
bool ExpectParameterPack)
Description
Transforms a single function-type parameter. Return null on error.
Declared at: clang/lib/Sema/TreeTransform.h:687
Parameters
- clang::ParmVarDecl* OldParm
- int indexAdjustment
- - A number to add to the parameter's scope index; can be negative
- Optional<unsigned int> NumExpansions
- bool ExpectParameterPack
¶bool TransformFunctionTypeParams(
clang::SourceLocation Loc,
ArrayRef<clang::ParmVarDecl*> Params,
const clang::QualType* ParamTypes,
const FunctionProtoType::ExtParameterInfo*
ParamInfos,
SmallVectorImpl<clang::QualType>& PTypes,
SmallVectorImpl<clang::ParmVarDecl*>* PVars,
Sema::ExtParameterInfoBuilder& PInfos)
bool TransformFunctionTypeParams(
clang::SourceLocation Loc,
ArrayRef<clang::ParmVarDecl*> Params,
const clang::QualType* ParamTypes,
const FunctionProtoType::ExtParameterInfo*
ParamInfos,
SmallVectorImpl<clang::QualType>& PTypes,
SmallVectorImpl<clang::ParmVarDecl*>* PVars,
Sema::ExtParameterInfoBuilder& PInfos)
Description
Transforms the parameters of a function type into the given vectors. The result vectors should be kept in sync; null entries in the variables vector are acceptable. Return true on error.
Declared at: clang/lib/Sema/TreeTransform.h:675
Parameters
- clang::SourceLocation Loc
- ArrayRef<clang::ParmVarDecl*> Params
- const clang::QualType* ParamTypes
- const FunctionProtoType::ExtParameterInfo* ParamInfos
- SmallVectorImpl<clang::QualType>& PTypes
- SmallVectorImpl<clang::ParmVarDecl*>* PVars
- Sema::ExtParameterInfoBuilder& PInfos
¶clang::ExprResult TransformInitializer(
clang::Expr* Init,
bool NotCopyInit)
clang::ExprResult TransformInitializer(
clang::Expr* Init,
bool NotCopyInit)
Description
Transform the given initializer. By default, this routine transforms an initializer by stripping off the semantic nodes added by initialization, then passing the result to TransformExpr or TransformExprs.
Declared at: clang/lib/Sema/TreeTransform.h:413
Parameters
- clang::Expr* Init
- bool NotCopyInit
Returns
the transformed initializer.
¶clang::StmtResult TransformLambdaBody(
clang::LambdaExpr* E,
clang::Stmt* Body)
clang::StmtResult TransformLambdaBody(
clang::LambdaExpr* E,
clang::Stmt* Body)
Description
Transform the body of a lambda-expression.
Declared at: clang/lib/Sema/TreeTransform.h:693
Parameters
- clang::LambdaExpr* E
- clang::Stmt* Body
¶clang::NestedNameSpecifierLoc
TransformNestedNameSpecifierLoc(
clang::NestedNameSpecifierLoc NNS,
clang::QualType ObjectType =
clang::QualType(),
clang::NamedDecl* FirstQualifierInScope =
nullptr)
clang::NestedNameSpecifierLoc
TransformNestedNameSpecifierLoc(
clang::NestedNameSpecifierLoc NNS,
clang::QualType ObjectType =
clang::QualType(),
clang::NamedDecl* FirstQualifierInScope =
nullptr)
Description
Transform the given nested-name-specifier with source-location information. By default, transforms all of the types and declarations within the nested-name-specifier. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:517
Parameters
- clang::NestedNameSpecifierLoc NNS
- clang::QualType ObjectType = clang::QualType()
- clang::NamedDecl* FirstQualifierInScope = nullptr
¶concepts::NestedRequirement*
TransformNestedRequirement(
concepts::NestedRequirement* Req)
concepts::NestedRequirement*
TransformNestedRequirement(
concepts::NestedRequirement* Req)
Declared at: clang/lib/Sema/TreeTransform.h:537
Parameters
¶clang::OMPClause* TransformOMPClause(
clang::OMPClause* S)
clang::OMPClause* TransformOMPClause(
clang::OMPClause* S)
Description
Transform the given statement. By default, this routine transforms a statement by delegating to the appropriate TransformOMPXXXClause function to transform a specific kind of clause. Subclasses may override this function to transform statements using some other mechanism.
Declared at: clang/lib/Sema/TreeTransform.h:373
Parameters
Returns
the transformed OpenMP clause.
¶clang::StmtResult TransformOMPExecutableDirective(
clang::OMPExecutableDirective* S)
clang::StmtResult TransformOMPExecutableDirective(
clang::OMPExecutableDirective* S)
Declared at: clang/lib/Sema/TreeTransform.h:718
Parameters
¶bool TransformOverloadExprDecls(
clang::OverloadExpr* Old,
bool RequiresADL,
clang::LookupResult& R)
bool TransformOverloadExprDecls(
clang::OverloadExpr* Old,
bool RequiresADL,
clang::LookupResult& R)
Description
Transform the set of declarations in an OverloadExpr.
Declared at: clang/lib/Sema/TreeTransform.h:507
Parameters
- clang::OverloadExpr* Old
- bool RequiresADL
- clang::LookupResult& R
¶clang::ExprResult
TransformParenDependentScopeDeclRefExpr(
clang::ParenExpr* PE,
clang::DependentScopeDeclRefExpr* DRE,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
clang::ExprResult
TransformParenDependentScopeDeclRefExpr(
clang::ParenExpr* PE,
clang::DependentScopeDeclRefExpr* DRE,
bool IsAddressOfOperand,
clang::TypeSourceInfo** RecoveryTSI)
Declared at: clang/lib/Sema/TreeTransform.h:714
Parameters
- clang::ParenExpr* PE
- clang::DependentScopeDeclRefExpr* DRE
- bool IsAddressOfOperand
- clang::TypeSourceInfo** RecoveryTSI
¶clang::QualType TransformReferenceType(
clang::TypeLocBuilder& TLB,
clang::ReferenceTypeLoc TL)
clang::QualType TransformReferenceType(
clang::TypeLocBuilder& TLB,
clang::ReferenceTypeLoc TL)
Description
Transforms a reference type. Note that somewhat paradoxically we don't care whether the type itself is an l-value type or an r-value type; we only care if the type was *written* as an l-value type or an r-value type.
Declared at: clang/lib/Sema/TreeTransform.h:698
Parameters
¶bool TransformRequiresExprRequirements(
ArrayRef<concepts::Requirement*> Reqs,
llvm::SmallVectorImpl<concepts::Requirement*>&
Transformed)
bool TransformRequiresExprRequirements(
ArrayRef<concepts::Requirement*> Reqs,
llvm::SmallVectorImpl<concepts::Requirement*>&
Transformed)
Declared at: clang/lib/Sema/TreeTransform.h:530
Parameters
- ArrayRef<concepts::Requirement*> Reqs
- llvm::SmallVectorImpl<concepts::Requirement*>& Transformed
¶clang::StmtResult TransformSEHHandler(
clang::Stmt* Handler)
clang::StmtResult TransformSEHHandler(
clang::Stmt* Handler)
Declared at: clang/lib/Sema/TreeTransform.h:651
Parameters
- clang::Stmt* Handler
¶clang::StmtResult TransformStmt(
clang::Stmt* S,
clang::TreeTransform::StmtDiscardKind SDK =
SDK_Discarded)
clang::StmtResult TransformStmt(
clang::Stmt* S,
clang::TreeTransform::StmtDiscardKind SDK =
SDK_Discarded)
Description
Transform the given statement. By default, this routine transforms a statement by delegating to the appropriate TransformXXXStmt function to transform a specific kind of statement or the TransformExpr() function to transform an expression. Subclasses may override this function to transform statements using some other mechanism.
Declared at: clang/lib/Sema/TreeTransform.h:363
Parameters
- clang::Stmt* S
- clang::TreeTransform::StmtDiscardKind SDK = SDK_Discarded
Returns
the transformed statement.
¶clang::TypeSourceInfo* TransformTSIInObjectScope(
clang::TypeLoc TL,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
clang::TypeSourceInfo* TransformTSIInObjectScope(
clang::TypeLoc TL,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
Declared at: clang/lib/Sema/TreeTransform.h:3814
Parameters
- clang::TypeLoc TL
- clang::QualType ObjectType
- clang::NamedDecl* FirstQualifierInScope
- clang::CXXScopeSpec& SS
¶bool TransformTemplateArgument(
const clang::TemplateArgumentLoc& Input,
clang::TemplateArgumentLoc& Output,
bool Uneval = false)
bool TransformTemplateArgument(
const clang::TemplateArgumentLoc& Input,
clang::TemplateArgumentLoc& Output,
bool Uneval = false)
Description
Transform the given template argument. By default, this operation transforms the type, expression, or declaration stored within the template argument and constructs a new template argument from the transformed result. Subclasses may override this function to provide alternate behavior. Returns true if there was an error.
Declared at: clang/lib/Sema/TreeTransform.h:574
Parameters
- const clang::TemplateArgumentLoc& Input
- clang::TemplateArgumentLoc& Output
- bool Uneval = false
¶bool TransformTemplateArguments(
const clang::TemplateArgumentLoc* Inputs,
unsigned int NumInputs,
clang::TemplateArgumentListInfo& Outputs,
bool Uneval = false)
bool TransformTemplateArguments(
const clang::TemplateArgumentLoc* Inputs,
unsigned int NumInputs,
clang::TemplateArgumentListInfo& Outputs,
bool Uneval = false)
Description
Transform the given set of template arguments. By default, this operation transforms all of the template arguments in the input set using \c TransformTemplateArgument(), and appends the transformed arguments to the output list. Note that this overload of \c TransformTemplateArguments() is merely a convenience function. Subclasses that wish to override this behavior should override the iterator-based member template version. Returns true if an error occurred.
Declared at: clang/lib/Sema/TreeTransform.h:596
Parameters
- const clang::TemplateArgumentLoc* Inputs
- The set of template arguments to be transformed.
- unsigned int NumInputs
- The number of template arguments in \p Inputs.
- clang::TemplateArgumentListInfo& Outputs
- The set of transformed template arguments output by this routine.
- bool Uneval = false
¶template <typename InputIterator>
bool TransformTemplateArguments(
InputIterator First,
InputIterator Last,
clang::TemplateArgumentListInfo& Outputs,
bool Uneval = false)
template <typename InputIterator>
bool TransformTemplateArguments(
InputIterator First,
InputIterator Last,
clang::TemplateArgumentListInfo& Outputs,
bool Uneval = false)
Description
Transform the given set of template arguments. By default, this operation transforms all of the template arguments in the input set using \c TransformTemplateArgument(), and appends the transformed arguments to the output list. Returns true if an error occurred.
Declared at: clang/lib/Sema/TreeTransform.h:619
Templates
- InputIterator
Parameters
- InputIterator First
- An iterator to the first template argument.
- InputIterator Last
- An iterator one step past the last template argument.
- clang::TemplateArgumentListInfo& Outputs
- The set of transformed template arguments output by this routine.
- bool Uneval = false
¶unsigned int TransformTemplateDepth(
unsigned int Depth)
unsigned int TransformTemplateDepth(
unsigned int Depth)
Description
Transform a template parameter depth level. During a transformation that transforms template parameters, this maps an old template parameter depth to a new depth.
Declared at: clang/lib/Sema/TreeTransform.h:228
Parameters
- unsigned int Depth
¶clang::TemplateName TransformTemplateName(
clang::CXXScopeSpec& SS,
clang::TemplateName Name,
clang::SourceLocation NameLoc,
clang::QualType ObjectType =
clang::QualType(),
clang::NamedDecl* FirstQualifierInScope =
nullptr,
bool AllowInjectedClassName = false)
clang::TemplateName TransformTemplateName(
clang::CXXScopeSpec& SS,
clang::TemplateName Name,
clang::SourceLocation NameLoc,
clang::QualType ObjectType =
clang::QualType(),
clang::NamedDecl* FirstQualifierInScope =
nullptr,
bool AllowInjectedClassName = false)
Description
Transform the given template name. By default, transforms the template name by transforming the declarations and nested-name-specifiers that occur within the template name. Subclasses may override this function to provide alternate behavior.
Declared at: clang/lib/Sema/TreeTransform.h:560
Parameters
- clang::CXXScopeSpec& SS
- The nested-name-specifier that qualifies the template name. This nested-name-specifier must already have been transformed.
- clang::TemplateName Name
- The template name to transform.
- clang::SourceLocation NameLoc
- The source location of the template name.
- clang::QualType ObjectType = clang::QualType()
- If we're translating a template name within a member access expression, this is the type of the object whose member template is being referenced.
- clang::NamedDecl* FirstQualifierInScope = nullptr
- If the first part of a nested-name-specifier also refers to a name within the current (lexical) scope, this is the declaration it refers to.
- bool AllowInjectedClassName = false
¶clang::TemplateParameterList*
TransformTemplateParameterList(
clang::TemplateParameterList* TPL)
clang::TemplateParameterList*
TransformTemplateParameterList(
clang::TemplateParameterList* TPL)
Declared at: clang/lib/Sema/TreeTransform.h:703
Parameters
¶clang::QualType
TransformTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::TemplateSpecializationTypeLoc TL,
clang::TemplateName Template)
clang::QualType
TransformTemplateSpecializationType(
clang::TypeLocBuilder& TLB,
clang::TemplateSpecializationTypeLoc TL,
clang::TemplateName Template)
Declared at: clang/lib/Sema/TreeTransform.h:654
Parameters
¶clang::TypeSourceInfo* TransformType(
clang::TypeSourceInfo* DI)
clang::TypeSourceInfo* TransformType(
clang::TypeSourceInfo* DI)
Description
Transforms the given type-with-location into a new type-with-location. By default, this routine transforms a type by delegating to the appropriate TransformXXXType to build a new type. Subclasses may override this function (to take over all type transformations) or some set of the TransformXXXType functions to alter the transformation.
Declared at: clang/lib/Sema/TreeTransform.h:328
Parameters
¶clang::QualType TransformType(clang::QualType T)
clang::QualType TransformType(clang::QualType T)
Description
Transforms the given type into another type. By default, this routine transforms a type by creating a TypeSourceInfo for it and delegating to the appropriate function. This is expensive, but we don't mind, because this method is deprecated anyway; all users should be switched to storing TypeSourceInfos.
Declared at: clang/lib/Sema/TreeTransform.h:318
Parameters
Returns
the transformed type.
¶clang::QualType TransformType(
clang::TypeLocBuilder& TLB,
clang::TypeLoc TL)
clang::QualType TransformType(
clang::TypeLocBuilder& TLB,
clang::TypeLoc TL)
Description
Transform the given type-with-location into a new type, collecting location information in the given builder as necessary.
Declared at: clang/lib/Sema/TreeTransform.h:334
Parameters
¶clang::TypeLoc TransformTypeInObjectScope(
clang::TypeLoc TL,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
clang::TypeLoc TransformTypeInObjectScope(
clang::TypeLoc TL,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
Declared at: clang/lib/Sema/TreeTransform.h:3804
Parameters
- clang::TypeLoc TL
- clang::QualType ObjectType
- clang::NamedDecl* FirstQualifierInScope
- clang::CXXScopeSpec& SS
¶clang::TypeSourceInfo* TransformTypeInObjectScope(
clang::TypeSourceInfo* TSInfo,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
clang::TypeSourceInfo* TransformTypeInObjectScope(
clang::TypeSourceInfo* TSInfo,
clang::QualType ObjectType,
clang::NamedDecl* FirstQualifierInScope,
clang::CXXScopeSpec& SS)
Declared at: clang/lib/Sema/TreeTransform.h:3809
Parameters
- clang::TypeSourceInfo* TSInfo
- clang::QualType ObjectType
- clang::NamedDecl* FirstQualifierInScope
- clang::CXXScopeSpec& SS
¶concepts::TypeRequirement*
TransformTypeRequirement(
concepts::TypeRequirement* Req)
concepts::TypeRequirement*
TransformTypeRequirement(
concepts::TypeRequirement* Req)
Declared at: clang/lib/Sema/TreeTransform.h:533
Parameters
¶clang::QualType TransformTypeWithDeducedTST(
clang::QualType T)
clang::QualType TransformTypeWithDeducedTST(
clang::QualType T)
Description
Transform a type that is permitted to produce a DeducedTemplateSpecializationType. This is used in the (relatively rare) contexts where it is acceptable for transformation to produce a class template type with deduced template arguments. @ {
Declared at: clang/lib/Sema/TreeTransform.h:343
Parameters
¶clang::TypeSourceInfo*
TransformTypeWithDeducedTST(
clang::TypeSourceInfo* DI)
clang::TypeSourceInfo*
TransformTypeWithDeducedTST(
clang::TypeSourceInfo* DI)
Declared at: clang/lib/Sema/TreeTransform.h:344
Parameters
¶TreeTransform<Derived>(clang::Sema& SemaRef)
TreeTransform<Derived>(clang::Sema& SemaRef)
Description
Initializes a new tree transformer.
Declared at: clang/lib/Sema/TreeTransform.h:129
Parameters
- clang::Sema& SemaRef
¶bool TryExpandParameterPacks(
clang::SourceLocation EllipsisLoc,
clang::SourceRange PatternRange,
ArrayRef<clang::UnexpandedParameterPack>
Unexpanded,
bool& ShouldExpand,
bool& RetainExpansion,
Optional<unsigned int>& NumExpansions)
bool TryExpandParameterPacks(
clang::SourceLocation EllipsisLoc,
clang::SourceRange PatternRange,
ArrayRef<clang::UnexpandedParameterPack>
Unexpanded,
bool& ShouldExpand,
bool& RetainExpansion,
Optional<unsigned int>& NumExpansions)
Description
Determine whether we should expand a pack expansion with the given set of parameter packs into separate arguments by repeatedly transforming the pattern. By default, the transformer never tries to expand pack expansions. Subclasses can override this routine to provide different behavior.
Declared at: clang/lib/Sema/TreeTransform.h:279
Parameters
- clang::SourceLocation EllipsisLoc
- The location of the ellipsis that identifies the pack expansion.
- clang::SourceRange PatternRange
- The source range that covers the entire pattern of the pack expansion.
- ArrayRef<clang::UnexpandedParameterPack> Unexpanded
- The set of unexpanded parameter packs within the pattern.
- bool& ShouldExpand
- Will be set to \c true if the transformer should expand the corresponding pack expansions into separate arguments. When set, \c NumExpansions must also be set.
- bool& RetainExpansion
- Whether the caller should add an unexpanded pack expansion after all of the expanded arguments. This is used when extending explicitly-specified template argument packs per C++0x [temp.arg.explicit]p9.
- Optional<unsigned int>& NumExpansions
- The number of separate arguments that will be in the expanded form of the corresponding pack expansion. This is both an input and an output parameter, which can be set by the caller if the number of expansions is known a priori (e.g., due to a prior substitution) and will be set by the callee when the number of expansions is known. The callee must set this value when \c ShouldExpand is \c true; it may set this value in other cases.
Returns
true if an error occurred (e.g., because the parameter packs are to be instantiated with arguments of different lengths), false otherwise. If false, \c ShouldExpand (and possibly \c NumExpansions) must be set.
¶clang::DeclarationName getBaseEntity()
clang::DeclarationName getBaseEntity()
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:182
¶clang::SourceLocation getBaseLocation()
clang::SourceLocation getBaseLocation()
Description
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.
Declared at: clang/lib/Sema/TreeTransform.h:175
¶const Derived& getDerived() const
const Derived& getDerived() const
Description
Retrieves a reference to the derived class.
Declared at: clang/lib/Sema/TreeTransform.h:135
¶Derived& getDerived()
Derived& getDerived()
Description
Retrieves a reference to the derived class.
Declared at: clang/lib/Sema/TreeTransform.h:132
¶clang::Sema& getSema() const
clang::Sema& getSema() const
Description
Retrieves a reference to the semantic analysis object used for this tree transform.
Declared at: clang/lib/Sema/TreeTransform.h:144
¶void setBase(clang::SourceLocation Loc,
clang::DeclarationName Entity)
void setBase(clang::SourceLocation Loc,
clang::DeclarationName Entity)
Description
Sets the "base" location and entity when that information is known based on another transformation. By default, the source location and entity are ignored. Subclasses can override this function to provide a customized implementation.
Declared at: clang/lib/Sema/TreeTransform.h:189
Parameters
- clang::SourceLocation Loc
- clang::DeclarationName Entity
¶void transformAttrs(clang::Decl* Old,
clang::Decl* New)
void transformAttrs(clang::Decl* Old,
clang::Decl* New)
Description
Transform the attributes associated with the given declaration and place them on the new declaration. By default, this operation does nothing. Subclasses may override this behavior to transform attributes.
Declared at: clang/lib/Sema/TreeTransform.h:470
Parameters
- clang::Decl* Old
- clang::Decl* New
¶void transformedLocalDecl(
clang::Decl* Old,
ArrayRef<clang::Decl*> New)
void transformedLocalDecl(
clang::Decl* Old,
ArrayRef<clang::Decl*> New)
Description
Note that a local declaration has been transformed by this transformer. Local declarations are typically transformed via a call to TransformDefinition. However, in some cases (e.g., lambda expressions), the transformer itself has to transform the declarations. This routine can be overridden by a subclass that keeps track of such mappings.
Declared at: clang/lib/Sema/TreeTransform.h:479
Parameters
- clang::Decl* Old
- ArrayRef<clang::Decl*> New