Lines Matching full:derived

108 template<typename Derived>
114 Derived &Self;
118 ForgetPartiallySubstitutedPackRAII(Derived &Self) : Self(Self) {
139 /// Retrieves a reference to the derived class.
140 Derived &getDerived() { return static_cast<Derived&>(*this); }
142 /// Retrieves a reference to the derived class.
143 const Derived &getDerived() const {
144 return static_cast<const Derived&>(*this);
312 /// Note to the derived class when a function parameter pack is
448 /// derived class permits such expansion) along the way. When pack expansions
4085 template <typename Derived>
4086 StmtResult TreeTransform<Derived>::TransformStmt(Stmt *S, StmtDiscardKind SDK) {
4121 template<typename Derived>
4122 OMPClause *TreeTransform<Derived>::TransformOMPClause(OMPClause *S) {
4140 template<typename Derived>
4141 ExprResult TreeTransform<Derived>::TransformExpr(Expr *E) {
4157 template<typename Derived>
4158 ExprResult TreeTransform<Derived>::TransformInitializer(Expr *Init,
4245 template<typename Derived>
4246 bool TreeTransform<Derived>::TransformExprs(Expr *const *Inputs,
4358 template <typename Derived>
4359 Sema::ConditionResult TreeTransform<Derived>::TransformCondition(
4384 template <typename Derived>
4385 NestedNameSpecifierLoc TreeTransform<Derived>::TransformNestedNameSpecifierLoc(
4499 template<typename Derived>
4501 TreeTransform<Derived>
4563 template<typename Derived>
4565 TreeTransform<Derived>::TransformTemplateName(CXXScopeSpec &SS,
4643 template<typename Derived>
4644 void TreeTransform<Derived>::InventTemplateArgumentLoc(
4651 template <typename Derived>
4652 bool TreeTransform<Derived>::TransformTemplateArgument(
4768 template<typename Derived, typename InputIterator>
4770 TreeTransform<Derived> &Self;
4789 explicit TemplateArgumentLocInventIterator(TreeTransform<Derived> &Self,
4823 template<typename Derived>
4825 bool TreeTransform<Derived>::TransformTemplateArguments(
4838 typedef TemplateArgumentLocInventIterator<Derived,
4947 template<typename Derived>
4948 QualType TreeTransform<Derived>::TransformType(QualType T) {
4965 template<typename Derived>
4966 TypeSourceInfo *TreeTransform<Derived>::TransformType(TypeSourceInfo *DI) {
4985 template<typename Derived>
4987 TreeTransform<Derived>::TransformType(TypeLocBuilder &TLB, TypeLoc T) {
5000 template<typename Derived>
5001 QualType TreeTransform<Derived>::TransformTypeWithDeducedTST(QualType T) {
5013 template<typename Derived>
5015 TreeTransform<Derived>::TransformTypeWithDeducedTST(TypeSourceInfo *DI) {
5051 template<typename Derived>
5053 TreeTransform<Derived>::TransformQualifiedType(TypeLocBuilder &TLB,
5085 template <typename Derived>
5086 QualType TreeTransform<Derived>::RebuildQualifiedType(QualType T,
5156 template<typename Derived>
5158 TreeTransform<Derived>::TransformTypeInObjectScope(TypeLoc TL,
5172 template<typename Derived>
5174 TreeTransform<Derived>::TransformTypeInObjectScope(TypeSourceInfo *TSInfo,
5185 template <typename Derived>
5186 TypeSourceInfo *TreeTransform<Derived>::TransformTSIInObjectScope(
5243 template<typename Derived>
5244 QualType TreeTransform<Derived>::TransformBuiltinType(TypeLocBuilder &TLB,
5253 template<typename Derived>
5254 QualType TreeTransform<Derived>::TransformComplexType(TypeLocBuilder &TLB,
5260 template <typename Derived>
5261 QualType TreeTransform<Derived>::TransformAdjustedType(TypeLocBuilder &TLB,
5267 template<typename Derived>
5268 QualType TreeTransform<Derived>::TransformDecayedType(TypeLocBuilder &TLB,
5283 template <typename Derived>
5285 TreeTransform<Derived>::TransformArrayParameterType(TypeLocBuilder &TLB,
5300 template<typename Derived>
5301 QualType TreeTransform<Derived>::TransformPointerType(TypeLocBuilder &TLB,
5337 template<typename Derived>
5339 TreeTransform<Derived>::TransformBlockPointerType(TypeLocBuilder &TLB,
5364 template<typename Derived>
5366 TreeTransform<Derived>::TransformReferenceType(TypeLocBuilder &TLB,
5401 template<typename Derived>
5403 TreeTransform<Derived>::TransformLValueReferenceType(TypeLocBuilder &TLB,
5408 template<typename Derived>
5410 TreeTransform<Derived>::TransformRValueReferenceType(TypeLocBuilder &TLB,
5415 template<typename Derived>
5417 TreeTransform<Derived>::TransformMemberPointerType(TypeLocBuilder &TLB,
5467 template<typename Derived>
5469 TreeTransform<Derived>::TransformConstantArrayType(TypeLocBuilder &TLB,
5513 template<typename Derived>
5514 QualType TreeTransform<Derived>::TransformIncompleteArrayType(
5541 template<typename Derived>
5543 TreeTransform<Derived>::TransformVariableArrayType(TypeLocBuilder &TLB,
5588 template<typename Derived>
5590 TreeTransform<Derived>::TransformDependentSizedArrayType(TypeLocBuilder &TLB,
5639 template <typename Derived>
5640 QualType TreeTransform<Derived>::TransformDependentVectorType(
5677 template<typename Derived>
5678 QualType TreeTransform<Derived>::TransformDependentSizedExtVectorType(
5721 template <typename Derived>
5723 TreeTransform<Derived>::TransformConstantMatrixType(TypeLocBuilder &TLB,
5747 template <typename Derived>
5748 QualType TreeTransform<Derived>::TransformDependentSizedMatrixType(
5801 template <typename Derived>
5802 QualType TreeTransform<Derived>::TransformDependentAddressSpaceType(
5847 template <typename Derived>
5848 QualType TreeTransform<Derived>::TransformVectorType(TypeLocBuilder &TLB,
5870 template<typename Derived>
5871 QualType TreeTransform<Derived>::TransformExtVectorType(TypeLocBuilder &TLB,
5894 template <typename Derived>
5895 ParmVarDecl *TreeTransform<Derived>::TransformFunctionTypeParam(
5950 template <typename Derived>
5951 bool TreeTransform<Derived>::TransformFunctionTypeParams(
6184 template<typename Derived>
6186 TreeTransform<Derived>::TransformFunctionProtoType(TypeLocBuilder &TLB,
6197 template<typename Derived> template<typename Fn>
6198 QualType TreeTransform<Derived>::TransformFunctionProtoType(
6342 template<typename Derived>
6343 bool TreeTransform<Derived>::TransformExceptionSpec(
6445 template<typename Derived>
6446 QualType TreeTransform<Derived>::TransformFunctionNoProtoType(
6467 template <typename Derived>
6468 QualType TreeTransform<Derived>::TransformUnresolvedUsingType(
6490 template <typename Derived>
6491 QualType TreeTransform<Derived>::TransformUsingType(TypeLocBuilder &TLB,
6516 template<typename Derived>
6517 QualType TreeTransform<Derived>::TransformTypedefType(TypeLocBuilder &TLB,
6540 template<typename Derived>
6541 QualType TreeTransform<Derived>::TransformTypeOfExprType(TypeLocBuilder &TLB,
6573 template<typename Derived>
6574 QualType TreeTransform<Derived>::TransformTypeOfType(TypeLocBuilder &TLB,
6598 template<typename Derived>
6599 QualType TreeTransform<Derived>::TransformDecltypeType(TypeLocBuilder &TLB,
6631 template <typename Derived>
6633 TreeTransform<Derived>::TransformPackIndexingType(TypeLocBuilder &TLB,
6733 template<typename Derived>
6734 QualType TreeTransform<Derived>::TransformUnaryTransformType(
6761 template<typename Derived>
6762 QualType TreeTransform<Derived>::TransformDeducedTemplateSpecializationType(
6792 template<typename Derived>
6793 QualType TreeTransform<Derived>::TransformRecordType(TypeLocBuilder &TLB,
6816 template<typename Derived>
6817 QualType TreeTransform<Derived>::TransformEnumType(TypeLocBuilder &TLB,
6840 template<typename Derived>
6841 QualType TreeTransform<Derived>::TransformInjectedClassNameType(
6853 template<typename Derived>
6854 QualType TreeTransform<Derived>::TransformTemplateTypeParmType(
6862 template <typename Derived>
6863 QualType TreeTransform<Derived>::TransformTemplateTypeParmType(
6868 template<typename Derived>
6869 QualType TreeTransform<Derived>::TransformSubstTemplateTypeParmType(
6896 template<typename Derived>
6897 QualType TreeTransform<Derived>::TransformSubstTemplateTypeParmPackType(
6904 template <typename Derived>
6905 QualType TreeTransform<Derived>::TransformSubstTemplateTypeParmPackType(
6910 template<typename Derived>
6911 QualType TreeTransform<Derived>::TransformTemplateSpecializationType(
6928 template<typename Derived>
6929 QualType TreeTransform<Derived>::TransformAtomicType(TypeLocBuilder &TLB,
6951 template <typename Derived>
6952 QualType TreeTransform<Derived>::TransformPipeType(TypeLocBuilder &TLB,
6973 template <typename Derived>
6974 QualType TreeTransform<Derived>::TransformBitIntType(TypeLocBuilder &TLB,
6991 template <typename Derived>
6992 QualType TreeTransform<Derived>::TransformDependentBitIntType(
7028 /// \c TreeTransform<Derived>::TransformTemplateArguments().
7088 template<typename Derived>
7089 QualType TreeTransform<Derived>::TransformAutoType(TypeLocBuilder &TLB,
7159 template <typename Derived>
7160 QualType TreeTransform<Derived>::TransformTemplateSpecializationType(
7213 template <typename Derived>
7214 QualType TreeTransform<Derived>::TransformDependentTemplateSpecializationType(
7269 template<typename Derived>
7271 TreeTransform<Derived>::TransformElaboratedType(TypeLocBuilder &TLB,
7326 template <typename Derived>
7328 QualType TreeTransform<Derived>::TransformAttributedType(
7375 template <typename Derived>
7376 QualType TreeTransform<Derived>::TransformAttributedType(TypeLocBuilder &TLB,
7384 template <typename Derived>
7385 QualType TreeTransform<Derived>::TransformCountAttributedType(
7413 template <typename Derived>
7414 QualType TreeTransform<Derived>::TransformBTFTagAttributedType(
7420 template<typename Derived>
7422 TreeTransform<Derived>::TransformParenType(TypeLocBuilder &TLB,
7442 template <typename Derived>
7444 TreeTransform<Derived>::TransformMacroQualifiedType(TypeLocBuilder &TLB,
7463 template<typename Derived>
7464 QualType TreeTransform<Derived>::TransformDependentNameType(
7469 template<typename Derived>
7470 QualType TreeTransform<Derived>::TransformDependentNameType(
7505 template<typename Derived>
7506 QualType TreeTransform<Derived>::
7521 template<typename Derived>
7522 QualType TreeTransform<Derived>::
7587 template<typename Derived>
7588 QualType TreeTransform<Derived>::TransformPackExpansionType(TypeLocBuilder &TLB,
7611 template<typename Derived>
7613 TreeTransform<Derived>::TransformObjCInterfaceType(TypeLocBuilder &TLB,
7620 template<typename Derived>
7622 TreeTransform<Derived>::TransformObjCTypeParamType(TypeLocBuilder &TLB,
7651 template<typename Derived>
7653 TreeTransform<Derived>::TransformObjCObjectType(TypeLocBuilder &TLB,
7776 template<typename Derived>
7778 TreeTransform<Derived>::TransformObjCObjectPointerType(TypeLocBuilder &TLB,
7801 template<typename Derived>
7803 TreeTransform<Derived>::TransformNullStmt(NullStmt *S) {
7807 template<typename Derived>
7809 TreeTransform<Derived>::TransformCompoundStmt(CompoundStmt *S) {
7813 template<typename Derived>
7815 TreeTransform<Derived>::TransformCompoundStmt(CompoundStmt *S,
7859 template<typename Derived>
7861 TreeTransform<Derived>::TransformCaseStmt(CaseStmt *S) {
7901 template <typename Derived>
7902 StmtResult TreeTransform<Derived>::TransformDefaultStmt(DefaultStmt *S) {
7914 template<typename Derived>
7916 TreeTransform<Derived>::TransformLabelStmt(LabelStmt *S, StmtDiscardKind SDK) {
7938 template <typename Derived>
7939 const Attr *TreeTransform<Derived>::TransformAttr(const Attr *R) {
7953 template <typename Derived>
7954 const Attr *TreeTransform<Derived>::TransformStmtAttr(const Stmt *OrigS,
7970 template <typename Derived>
7972 TreeTransform<Derived>::TransformAttributedStmt(AttributedStmt *S,
8002 template<typename Derived>
8004 TreeTransform<Derived>::TransformIfStmt(IfStmt *S) {
8077 template<typename Derived>
8079 TreeTransform<Derived>::TransformSwitchStmt(SwitchStmt *S) {
8109 template<typename Derived>
8111 TreeTransform<Derived>::TransformWhileStmt(WhileStmt *S) {
8133 template<typename Derived>
8135 TreeTransform<Derived>::TransformDoStmt(DoStmt *S) {
8156 template<typename Derived>
8158 TreeTransform<Derived>::TransformForStmt(ForStmt *S) {
8206 template<typename Derived>
8208 TreeTransform<Derived>::TransformGotoStmt(GotoStmt *S) {
8219 template<typename Derived>
8221 TreeTransform<Derived>::TransformIndirectGotoStmt(IndirectGotoStmt *S) {
8235 template<typename Derived>
8237 TreeTransform<Derived>::TransformContinueStmt(ContinueStmt *S) {
8241 template<typename Derived>
8243 TreeTransform<Derived>::TransformBreakStmt(BreakStmt *S) {
8247 template<typename Derived>
8249 TreeTransform<Derived>::TransformReturnStmt(ReturnStmt *S) {
8260 template<typename Derived>
8262 TreeTransform<Derived>::TransformDeclStmt(DeclStmt *S) {
8282 template<typename Derived>
8284 TreeTransform<Derived>::TransformGCCAsmStmt(GCCAsmStmt *S) {
8358 template<typename Derived>
8360 TreeTransform<Derived>::TransformMSAsmStmt(MSAsmStmt *S) {
8390 template<typename Derived>
8392 TreeTransform<Derived>::TransformCoroutineBodyStmt(CoroutineBodyStmt *S) {
8515 template<typename Derived>
8517 TreeTransform<Derived>::TransformCoreturnStmt(CoreturnStmt *S) {
8529 template <typename Derived>
8530 ExprResult TreeTransform<Derived>::TransformCoawaitExpr(CoawaitExpr *E) {
8552 template <typename Derived>
8554 TreeTransform<Derived>::TransformDependentCoawaitExpr(DependentCoawaitExpr *E) {
8573 template<typename Derived>
8575 TreeTransform<Derived>::TransformCoyieldExpr(CoyieldExpr *E) {
8588 template<typename Derived>
8590 TreeTransform<Derived>::TransformObjCAtTryStmt(ObjCAtTryStmt *S) {
8628 template<typename Derived>
8630 TreeTransform<Derived>::TransformObjCAtCatchStmt(ObjCAtCatchStmt *S) {
8664 template<typename Derived>
8666 TreeTransform<Derived>::TransformObjCAtFinallyStmt(ObjCAtFinallyStmt *S) {
8682 template<typename Derived>
8684 TreeTransform<Derived>::TransformObjCAtThrowStmt(ObjCAtThrowStmt *S) {
8699 template<typename Derived>
8701 TreeTransform<Derived>::TransformObjCAtSynchronizedStmt(
8729 template<typename Derived>
8731 TreeTransform<Derived>::TransformObjCAutoreleasePoolStmt(
8748 template<typename Derived>
8750 TreeTransform<Derived>::TransformObjCForCollectionStmt(
8783 template <typename Derived>
8784 StmtResult TreeTransform<Derived>::TransformCXXCatchStmt(CXXCatchStmt *S) {
8812 template <typename Derived>
8813 StmtResult TreeTransform<Derived>::TransformCXXTryStmt(CXXTryStmt *S) {
8839 template<typename Derived>
8841 TreeTransform<Derived>::TransformCXXForRangeStmt(CXXForRangeStmt *S) {
8937 template<typename Derived>
8939 TreeTransform<Derived>::TransformMSDependentExistsStmt(
9006 template<typename Derived>
9008 TreeTransform<Derived>::TransformMSPropertyRefExpr(MSPropertyRefExpr *E) {
9032 template <typename Derived>
9033 ExprResult TreeTransform<Derived>::TransformMSPropertySubscriptExpr(
9051 template <typename Derived>
9052 StmtResult TreeTransform<Derived>::TransformSEHTryStmt(SEHTryStmt *S) {
9069 template <typename Derived>
9070 StmtResult TreeTransform<Derived>::TransformSEHFinallyStmt(SEHFinallyStmt *S) {
9078 template <typename Derived>
9079 StmtResult TreeTransform<Derived>::TransformSEHExceptStmt(SEHExceptStmt *S) {
9092 template <typename Derived>
9093 StmtResult TreeTransform<Derived>::TransformSEHHandler(Stmt *Handler) {
9100 template<typename Derived>
9102 TreeTransform<Derived>::TransformSEHLeaveStmt(SEHLeaveStmt *S) {
9110 template <typename Derived>
9112 TreeTransform<Derived>::TransformOMPCanonicalLoop(OMPCanonicalLoop *L) {
9119 template <typename Derived>
9120 StmtResult TreeTransform<Derived>::TransformOMPExecutableDirective(
9189 template <typename Derived>
9191 TreeTransform<Derived>::TransformOMPMetaDirective(OMPMetaDirective *D) {
9198 template <typename Derived>
9200 TreeTransform<Derived>::TransformOMPParallelDirective(OMPParallelDirective *D) {
9209 template <typename Derived>
9211 TreeTransform<Derived>::TransformOMPSimdDirective(OMPSimdDirective *D) {
9220 template <typename Derived>
9222 TreeTransform<Derived>::TransformOMPTileDirective(OMPTileDirective *D) {
9231 template <typename Derived>
9233 TreeTransform<Derived>::TransformOMPUnrollDirective(OMPUnrollDirective *D) {
9242 template <typename Derived>
9244 TreeTransform<Derived>::TransformOMPReverseDirective(OMPReverseDirective *D) {
9253 template <typename Derived>
9254 StmtResult TreeTransform<Derived>::TransformOMPInterchangeDirective(
9264 template <typename Derived>
9266 TreeTransform<Derived>::TransformOMPForDirective(OMPForDirective *D) {
9275 template <typename Derived>
9277 TreeTransform<Derived>::TransformOMPForSimdDirective(OMPForSimdDirective *D) {
9286 template <typename Derived>
9288 TreeTransform<Derived>::TransformOMPSectionsDirective(OMPSectionsDirective *D) {
9297 template <typename Derived>
9299 TreeTransform<Derived>::TransformOMPSectionDirective(OMPSectionDirective *D) {
9308 template <typename Derived>
9310 TreeTransform<Derived>::TransformOMPScopeDirective(OMPScopeDirective *D) {
9319 template <typename Derived>
9321 TreeTransform<Derived>::TransformOMPSingleDirective(OMPSingleDirective *D) {
9330 template <typename Derived>
9332 TreeTransform<Derived>::TransformOMPMasterDirective(OMPMasterDirective *D) {
9341 template <typename Derived>
9343 TreeTransform<Derived>::TransformOMPCriticalDirective(OMPCriticalDirective *D) {
9351 template <typename Derived>
9352 StmtResult TreeTransform<Derived>::TransformOMPParallelForDirective(
9362 template <typename Derived>
9363 StmtResult TreeTransform<Derived>::TransformOMPParallelForSimdDirective(
9373 template <typename Derived>
9374 StmtResult TreeTransform<Derived>::TransformOMPParallelMasterDirective(
9384 template <typename Derived>
9385 StmtResult TreeTransform<Derived>::TransformOMPParallelMaskedDirective(
9395 template <typename Derived>
9396 StmtResult TreeTransform<Derived>::TransformOMPParallelSectionsDirective(
9406 template <typename Derived>
9408 TreeTransform<Derived>::TransformOMPTaskDirective(OMPTaskDirective *D) {
9417 template <typename Derived>
9418 StmtResult TreeTransform<Derived>::TransformOMPTaskyieldDirective(
9428 template <typename Derived>
9430 TreeTransform<Derived>::TransformOMPBarrierDirective(OMPBarrierDirective *D) {
9439 template <typename Derived>
9441 TreeTransform<Derived>::TransformOMPTaskwaitDirective(OMPTaskwaitDirective *D) {
9450 template <typename Derived>
9452 TreeTransform<Derived>::TransformOMPErrorDirective(OMPErrorDirective *D) {
9461 template <typename Derived>
9462 StmtResult TreeTransform<Derived>::TransformOMPTaskgroupDirective(
9472 template <typename Derived>
9474 TreeTransform<Derived>::TransformOMPFlushDirective(OMPFlushDirective *D) {
9483 template <typename Derived>
9485 TreeTransform<Derived>::TransformOMPDepobjDirective(OMPDepobjDirective *D) {
9494 template <typename Derived>
9496 TreeTransform<Derived>::TransformOMPScanDirective(OMPScanDirective *D) {
9505 template <typename Derived>
9507 TreeTransform<Derived>::TransformOMPOrderedDirective(OMPOrderedDirective *D) {
9516 template <typename Derived>
9518 TreeTransform<Derived>::TransformOMPAtomicDirective(OMPAtomicDirective *D) {
9527 template <typename Derived>
9529 TreeTransform<Derived>::TransformOMPTargetDirective(OMPTargetDirective *D) {
9538 template <typename Derived>
9539 StmtResult TreeTransform<Derived>::TransformOMPTargetDataDirective(
9549 template <typename Derived>
9550 StmtResult TreeTransform<Derived>::TransformOMPTargetEnterDataDirective(
9560 template <typename Derived>
9561 StmtResult TreeTransform<Derived>::TransformOMPTargetExitDataDirective(
9571 template <typename Derived>
9572 StmtResult TreeTransform<Derived>::TransformOMPTargetParallelDirective(
9582 template <typename Derived>
9583 StmtResult TreeTransform<Derived>::TransformOMPTargetParallelForDirective(
9593 template <typename Derived>
9594 StmtResult TreeTransform<Derived>::TransformOMPTargetUpdateDirective(
9604 template <typename Derived>
9606 TreeTransform<Derived>::TransformOMPTeamsDirective(OMPTeamsDirective *D) {
9615 template <typename Derived>
9616 StmtResult TreeTransform<Derived>::TransformOMPCancellationPointDirective(
9626 template <typename Derived>
9628 TreeTransform<Derived>::TransformOMPCancelDirective(OMPCancelDirective *D) {
9637 template <typename Derived>
9639 TreeTransform<Derived>::TransformOMPTaskLoopDirective(OMPTaskLoopDirective *D) {
9648 template <typename Derived>
9649 StmtResult TreeTransform<Derived>::TransformOMPTaskLoopSimdDirective(
9659 template <typename Derived>
9660 StmtResult TreeTransform<Derived>::TransformOMPMasterTaskLoopDirective(
9670 template <typename Derived>
9671 StmtResult TreeTransform<Derived>::TransformOMPMaskedTaskLoopDirective(
9681 template <typename Derived>
9682 StmtResult TreeTransform<Derived>::TransformOMPMasterTaskLoopSimdDirective(
9692 template <typename Derived>
9693 StmtResult TreeTransform<Derived>::TransformOMPMaskedTaskLoopSimdDirective(
9703 template <typename Derived>
9704 StmtResult TreeTransform<Derived>::TransformOMPParallelMasterTaskLoopDirective(
9714 template <typename Derived>
9715 StmtResult TreeTransform<Derived>::TransformOMPParallelMaskedTaskLoopDirective(
9725 template <typename Derived>
9727 TreeTransform<Derived>::TransformOMPParallelMasterTaskLoopSimdDirective(
9737 template <typename Derived>
9739 TreeTransform<Derived>::TransformOMPParallelMaskedTaskLoopSimdDirective(
9749 template <typename Derived>
9750 StmtResult TreeTransform<Derived>::TransformOMPDistributeDirective(
9760 template <typename Derived>
9761 StmtResult TreeTransform<Derived>::TransformOMPDistributeParallelForDirective(
9771 template <typename Derived>
9773 TreeTransform<Derived>::TransformOMPDistributeParallelForSimdDirective(
9783 template <typename Derived>
9784 StmtResult TreeTransform<Derived>::TransformOMPDistributeSimdDirective(
9794 template <typename Derived>
9795 StmtResult TreeTransform<Derived>::TransformOMPTargetParallelForSimdDirective(
9805 template <typename Derived>
9806 StmtResult TreeTransform<Derived>::TransformOMPTargetSimdDirective(
9816 template <typename Derived>
9817 StmtResult TreeTransform<Derived>::TransformOMPTeamsDistributeDirective(
9827 template <typename Derived>
9828 StmtResult TreeTransform<Derived>::TransformOMPTeamsDistributeSimdDirective(
9838 template <typename Derived>
9839 StmtResult TreeTransform<Derived>::TransformOMPTeamsDistributeParallelForSimdDirective(
9850 template <typename Derived>
9851 StmtResult TreeTransform<Derived>::TransformOMPTeamsDistributeParallelForDirective(
9861 template <typename Derived>
9862 StmtResult TreeTransform<Derived>::TransformOMPTargetTeamsDirective(
9872 template <typename Derived>
9873 StmtResult TreeTransform<Derived>::TransformOMPTargetTeamsDistributeDirective(
9883 template <typename Derived>
9885 TreeTransform<Derived>::TransformOMPTargetTeamsDistributeParallelForDirective(
9896 template <typename Derived>
9897 StmtResult TreeTransform<Derived>::
9909 template <typename Derived>
9911 TreeTransform<Derived>::TransformOMPTargetTeamsDistributeSimdDirective(
9921 template <typename Derived>
9923 TreeTransform<Derived>::TransformOMPInteropDirective(OMPInteropDirective *D) {
9932 template <typename Derived>
9934 TreeTransform<Derived>::TransformOMPDispatchDirective(OMPDispatchDirective *D) {
9943 template <typename Derived>
9945 TreeTransform<Derived>::TransformOMPMaskedDirective(OMPMaskedDirective *D) {
9954 template <typename Derived>
9955 StmtResult TreeTransform<Derived>::TransformOMPGenericLoopDirective(
9965 template <typename Derived>
9966 StmtResult TreeTransform<Derived>::TransformOMPTeamsGenericLoopDirective(
9976 template <typename Derived>
9977 StmtResult TreeTransform<Derived>::TransformOMPTargetTeamsGenericLoopDirective(
9987 template <typename Derived>
9988 StmtResult TreeTransform<Derived>::TransformOMPParallelGenericLoopDirective(
9998 template <typename Derived>
10000 TreeTransform<Derived>::TransformOMPTargetParallelGenericLoopDirective(
10013 template <typename Derived>
10014 OMPClause *TreeTransform<Derived>::TransformOMPIfClause(OMPIfClause *C) {
10023 template <typename Derived>
10024 OMPClause *TreeTransform<Derived>::TransformOMPFinalClause(OMPFinalClause *C) {
10032 template <typename Derived>
10034 TreeTransform<Derived>::TransformOMPNumThreadsClause(OMPNumThreadsClause *C) {
10042 template <typename Derived>
10044 TreeTransform<Derived>::TransformOMPSafelenClause(OMPSafelenClause *C) {
10052 template <typename Derived>
10054 TreeTransform<Derived>::TransformOMPAllocatorClause(OMPAllocatorClause *C) {
10062 template <typename Derived>
10064 TreeTransform<Derived>::TransformOMPSimdlenClause(OMPSimdlenClause *C) {
10072 template <typename Derived>
10073 OMPClause *TreeTransform<Derived>::TransformOMPSizesClause(OMPSizesClause *C) {
10097 template <typename Derived>
10098 OMPClause *TreeTransform<Derived>::TransformOMPFullClause(OMPFullClause *C) {
10104 template <typename Derived>
10106 TreeTransform<Derived>::TransformOMPPartialClause(OMPPartialClause *C) {
10119 template <typename Derived>
10121 TreeTransform<Derived>::TransformOMPCollapseClause(OMPCollapseClause *C) {
10129 template <typename Derived>
10131 TreeTransform<Derived>::TransformOMPDefaultClause(OMPDefaultClause *C) {
10137 template <typename Derived>
10139 TreeTransform<Derived>::TransformOMPProcBindClause(OMPProcBindClause *C) {
10145 template <typename Derived>
10147 TreeTransform<Derived>::TransformOMPScheduleClause(OMPScheduleClause *C) {
10158 template <typename Derived>
10160 TreeTransform<Derived>::TransformOMPOrderedClause(OMPOrderedClause *C) {
10171 template <typename Derived>
10173 TreeTransform<Derived>::TransformOMPDetachClause(OMPDetachClause *C) {
10184 template <typename Derived>
10186 TreeTransform<Derived>::TransformOMPNowaitClause(OMPNowaitClause *C) {
10191 template <typename Derived>
10193 TreeTransform<Derived>::TransformOMPUntiedClause(OMPUntiedClause *C) {
10198 template <typename Derived>
10200 TreeTransform<Derived>::TransformOMPMergeableClause(OMPMergeableClause *C) {
10205 template <typename Derived>
10206 OMPClause *TreeTransform<Derived>::TransformOMPReadClause(OMPReadClause *C) {
10211 template <typename Derived>
10212 OMPClause *TreeTransform<Derived>::TransformOMPWriteClause(OMPWriteClause *C) {
10217 template <typename Derived>
10219 TreeTransform<Derived>::TransformOMPUpdateClause(OMPUpdateClause *C) {
10224 template <typename Derived>
10226 TreeTransform<Derived>::TransformOMPCaptureClause(OMPCaptureClause *C) {
10231 template <typename Derived>
10233 TreeTransform<Derived>::TransformOMPCompareClause(OMPCompareClause *C) {
10238 template <typename Derived>
10239 OMPClause *TreeTransform<Derived>::TransformOMPFailClause(OMPFailClause *C) {
10244 template <typename Derived>
10246 TreeTransform<Derived>::TransformOMPSeqCstClause(OMPSeqCstClause *C) {
10251 template <typename Derived>
10253 TreeTransform<Derived>::TransformOMPAcqRelClause(OMPAcqRelClause *C) {
10258 template <typename Derived>
10260 TreeTransform<Derived>::TransformOMPAcquireClause(OMPAcquireClause *C) {
10265 template <typename Derived>
10267 TreeTransform<Derived>::TransformOMPReleaseClause(OMPReleaseClause *C) {
10272 template <typename Derived>
10274 TreeTransform<Derived>::TransformOMPRelaxedClause(OMPRelaxedClause *C) {
10279 template <typename Derived>
10280 OMPClause *TreeTransform<Derived>::TransformOMPWeakClause(OMPWeakClause *C) {
10285 template <typename Derived>
10287 TreeTransform<Derived>::TransformOMPThreadsClause(OMPThreadsClause *C) {
10292 template <typename Derived>
10293 OMPClause *TreeTransform<Derived>::TransformOMPSIMDClause(OMPSIMDClause *C) {
10298 template <typename Derived>
10300 TreeTransform<Derived>::TransformOMPNogroupClause(OMPNogroupClause *C) {
10305 template <typename Derived>
10306 OMPClause *TreeTransform<Derived>::TransformOMPInitClause(OMPInitClause *C) {
10324 template <typename Derived>
10325 OMPClause *TreeTransform<Derived>::TransformOMPUseClause(OMPUseClause *C) {
10334 template <typename Derived>
10336 TreeTransform<Derived>::TransformOMPDestroyClause(OMPDestroyClause *C) {
10348 template <typename Derived>
10350 TreeTransform<Derived>::TransformOMPNovariantsClause(OMPNovariantsClause *C) {
10358 template <typename Derived>
10360 TreeTransform<Derived>::TransformOMPNocontextClause(OMPNocontextClause *C) {
10368 template <typename Derived>
10370 TreeTransform<Derived>::TransformOMPFilterClause(OMPFilterClause *C) {
10378 template <typename Derived>
10379 OMPClause *TreeTransform<Derived>::TransformOMPAlignClause(OMPAlignClause *C) {
10387 template <typename Derived>
10388 OMPClause *TreeTransform<Derived>::TransformOMPUnifiedAddressClause(
10393 template <typename Derived>
10394 OMPClause *TreeTransform<Derived>::TransformOMPUnifiedSharedMemoryClause(
10400 template <typename Derived>
10401 OMPClause *TreeTransform<Derived>::TransformOMPReverseOffloadClause(
10406 template <typename Derived>
10407 OMPClause *TreeTransform<Derived>::TransformOMPDynamicAllocatorsClause(
10413 template <typename Derived>
10414 OMPClause *TreeTransform<Derived>::TransformOMPAtomicDefaultMemOrderClause(
10420 template <typename Derived>
10421 OMPClause *TreeTransform<Derived>::TransformOMPAtClause(OMPAtClause *C) {
10427 template <typename Derived>
10429 TreeTransform<Derived>::TransformOMPSeverityClause(OMPSeverityClause *C) {
10435 template <typename Derived>
10437 TreeTransform<Derived>::TransformOMPMessageClause(OMPMessageClause *C) {
10446 template <typename Derived>
10448 TreeTransform<Derived>::TransformOMPPrivateClause(OMPPrivateClause *C) {
10461 template <typename Derived>
10462 OMPClause *TreeTransform<Derived>::TransformOMPFirstprivateClause(
10476 template <typename Derived>
10478 TreeTransform<Derived>::TransformOMPLastprivateClause(OMPLastprivateClause *C) {
10492 template <typename Derived>
10494 TreeTransform<Derived>::TransformOMPSharedClause(OMPSharedClause *C) {
10507 template <typename Derived>
10509 TreeTransform<Derived>::TransformOMPReductionClause(OMPReductionClause *C) {
10554 template <typename Derived>
10555 OMPClause *TreeTransform<Derived>::TransformOMPTaskReductionClause(
10600 template <typename Derived>
10602 TreeTransform<Derived>::TransformOMPInReductionClause(OMPInReductionClause *C) {
10646 template <typename Derived>
10648 TreeTransform<Derived>::TransformOMPLinearClause(OMPLinearClause *C) {
10666 template <typename Derived>
10668 TreeTransform<Derived>::TransformOMPAlignedClause(OMPAlignedClause *C) {
10685 template <typename Derived>
10687 TreeTransform<Derived>::TransformOMPCopyinClause(OMPCopyinClause *C) {
10700 template <typename Derived>
10702 TreeTransform<Derived>::TransformOMPCopyprivateClause(OMPCopyprivateClause *C) {
10715 template <typename Derived>
10716 OMPClause *TreeTransform<Derived>::TransformOMPFlushClause(OMPFlushClause *C) {
10729 template <typename Derived>
10731 TreeTransform<Derived>::TransformOMPDepobjClause(OMPDepobjClause *C) {
10739 template <typename Derived>
10741 TreeTransform<Derived>::TransformOMPDependClause(OMPDependClause *C) {
10763 template <typename Derived>
10765 TreeTransform<Derived>::TransformOMPDeviceClause(OMPDeviceClause *C) {
10774 template <typename Derived, class T>
10776 TreeTransform<Derived> &TT, OMPMappableExprListClause<T> *C,
10827 template <typename Derived>
10828 OMPClause *TreeTransform<Derived>::TransformOMPMapClause(OMPMapClause *C) {
10841 if (transformOMPMappableExprListClause<Derived, OMPMapClause>(
10850 template <typename Derived>
10852 TreeTransform<Derived>::TransformOMPAllocateClause(OMPAllocateClause *C) {
10873 template <typename Derived>
10875 TreeTransform<Derived>::TransformOMPNumTeamsClause(OMPNumTeamsClause *C) {
10883 template <typename Derived>
10885 TreeTransform<Derived>::TransformOMPThreadLimitClause(OMPThreadLimitClause *C) {
10893 template <typename Derived>
10895 TreeTransform<Derived>::TransformOMPPriorityClause(OMPPriorityClause *C) {
10903 template <typename Derived>
10905 TreeTransform<Derived>::TransformOMPGrainsizeClause(OMPGrainsizeClause *C) {
10914 template <typename Derived>
10916 TreeTransform<Derived>::TransformOMPNumTasksClause(OMPNumTasksClause *C) {
10925 template <typename Derived>
10926 OMPClause *TreeTransform<Derived>::TransformOMPHintClause(OMPHintClause *C) {
10934 template <typename Derived>
10935 OMPClause *TreeTransform<Derived>::TransformOMPDistScheduleClause(
10945 template <typename Derived>
10947 TreeTransform<Derived>::TransformOMPDefaultmapClause(OMPDefaultmapClause *C) {
10959 template <typename Derived>
10960 OMPClause *TreeTransform<Derived>::TransformOMPToClause(OMPToClause *C) {
10966 if (transformOMPMappableExprListClause<Derived, OMPToClause>(
10974 template <typename Derived>
10975 OMPClause *TreeTransform<Derived>::TransformOMPFromClause(OMPFromClause *C) {
10981 if (transformOMPMappableExprListClause<Derived, OMPFromClause>(
10989 template <typename Derived>
10990 OMPClause *TreeTransform<Derived>::TransformOMPUseDevicePtrClause(
11004 template <typename Derived>
11005 OMPClause *TreeTransform<Derived>::TransformOMPUseDeviceAddrClause(
11019 template <typename Derived>
11021 TreeTransform<Derived>::TransformOMPIsDevicePtrClause(OMPIsDevicePtrClause *C) {
11034 template <typename Derived>
11035 OMPClause *TreeTransform<Derived>::TransformOMPHasDeviceAddrClause(
11049 template <typename Derived>
11051 TreeTransform<Derived>::TransformOMPNontemporalClause(OMPNontemporalClause *C) {
11064 template <typename Derived>
11066 TreeTransform<Derived>::TransformOMPInclusiveClause(OMPInclusiveClause *C) {
11079 template <typename Derived>
11081 TreeTransform<Derived>::TransformOMPExclusiveClause(OMPExclusiveClause *C) {
11094 template <typename Derived>
11095 OMPClause *TreeTransform<Derived>::TransformOMPUsesAllocatorsClause(
11120 template <typename Derived>
11122 TreeTransform<Derived>::TransformOMPAffinityClause(OMPAffinityClause *C) {
11142 template <typename Derived>
11143 OMPClause *TreeTransform<Derived>::TransformOMPOrderClause(OMPOrderClause *C) {
11149 template <typename Derived>
11150 OMPClause *TreeTransform<Derived>::TransformOMPBindClause(OMPBindClause *C) {
11156 template <typename Derived>
11157 OMPClause *TreeTransform<Derived>::TransformOMPXDynCGroupMemClause(
11166 template <typename Derived>
11168 TreeTransform<Derived>::TransformOMPDoacrossClause(OMPDoacrossClause *C) {
11182 template <typename Derived>
11184 TreeTransform<Derived>::TransformOMPXAttributeClause(OMPXAttributeClause *C) {
11192 template <typename Derived>
11193 OMPClause *TreeTransform<Derived>::TransformOMPXBareClause(OMPXBareClause *C) {
11201 template <typename Derived>
11203 : public OpenACCClauseVisitor<OpenACCClauseTransform<Derived>> {
11204 TreeTransform<Derived> &Self;
11228 OpenACCClauseTransform(TreeTransform<Derived> &Self,
11240 template <typename Derived>
11241 void OpenACCClauseTransform<Derived>::VisitDefaultClause(
11251 template <typename Derived>
11252 void OpenACCClauseTransform<Derived>::VisitIfClause(const OpenACCIfClause &C) {
11269 template <typename Derived>
11270 void OpenACCClauseTransform<Derived>::VisitSelfClause(
11291 template <typename Derived>
11292 void OpenACCClauseTransform<Derived>::VisitNumGangsClause(
11318 template <typename Derived>
11319 void OpenACCClauseTransform<Derived>::VisitPrivateClause(
11330 template <typename Derived>
11331 void OpenACCClauseTransform<Derived>::VisitFirstPrivateClause(
11342 template <typename Derived>
11343 void OpenACCClauseTransform<Derived>::VisitNoCreateClause(
11354 template <typename Derived>
11355 void OpenACCClauseTransform<Derived>::VisitPresentClause(
11366 template <typename Derived>
11367 void OpenACCClauseTransform<Derived>::VisitCopyClause(
11378 template <typename Derived>
11379 void OpenACCClauseTransform<Derived>::VisitCopyInClause(
11391 template <typename Derived>
11392 void OpenACCClauseTransform<Derived>::VisitCopyOutClause(
11404 template <typename Derived>
11405 void OpenACCClauseTransform<Derived>::VisitCreateClause(
11416 template <typename Derived>
11417 void OpenACCClauseTransform<Derived>::VisitAttachClause(
11435 template <typename Derived>
11436 void OpenACCClauseTransform<Derived>::VisitDevicePtrClause(
11454 template <typename Derived>
11455 void OpenACCClauseTransform<Derived>::VisitNumWorkersClause(
11477 template <typename Derived>
11478 void OpenACCClauseTransform<Derived>::VisitVectorLengthClause(
11500 template <typename Derived>
11501 void OpenACCClauseTransform<Derived>::VisitAsyncClause(
11523 template <typename Derived>
11524 void OpenACCClauseTransform<Derived>::VisitWaitClause(
11569 template <typename Derived>
11570 void OpenACCClauseTransform<Derived>::VisitDeviceTypeClause(
11579 template <typename Derived>
11580 void OpenACCClauseTransform<Derived>::VisitAutoClause(
11588 template <typename Derived>
11589 void OpenACCClauseTransform<Derived>::VisitIndependentClause(
11596 template <typename Derived>
11597 void OpenACCClauseTransform<Derived>::VisitSeqClause(
11604 template <typename Derived>
11605 void OpenACCClauseTransform<Derived>::VisitReductionClause(
11622 template <typename Derived>
11623 OpenACCClause *TreeTransform<Derived>::TransformOpenACCClause(
11634 OpenACCClauseTransform<Derived> Transform{*this, ExistingClauses,
11641 template <typename Derived>
11643 TreeTransform<Derived>::TransformOpenACCClauseList(
11654 template <typename Derived>
11655 StmtResult TreeTransform<Derived>::TransformOpenACCComputeConstruct(
11678 template <typename Derived>
11680 TreeTransform<Derived>::TransformOpenACCLoopConstruct(OpenACCLoopConstruct *C) {
11707 template<typename Derived>
11709 TreeTransform<Derived>::TransformConstantExpr(ConstantExpr *E) {
11713 template <typename Derived>
11714 ExprResult TreeTransform<Derived>::TransformSYCLUniqueStableNameExpr(
11731 template<typename Derived>
11733 TreeTransform<Derived>::TransformPredefinedExpr(PredefinedExpr *E) {
11741 template<typename Derived>
11743 TreeTransform<Derived>::TransformDeclRefExpr(DeclRefExpr *E) {
11802 template<typename Derived>
11804 TreeTransform<Derived>::TransformIntegerLiteral(IntegerLiteral *E) {
11808 template <typename Derived>
11809 ExprResult TreeTransform<Derived>::TransformFixedPointLiteral(
11814 template<typename Derived>
11816 TreeTransform<Derived>::TransformFloatingLiteral(FloatingLiteral *E) {
11820 template<typename Derived>
11822 TreeTransform<Derived>::TransformImaginaryLiteral(ImaginaryLiteral *E) {
11826 template<typename Derived>
11828 TreeTransform<Derived>::TransformStringLiteral(StringLiteral *E) {
11832 template<typename Derived>
11834 TreeTransform<Derived>::TransformCharacterLiteral(CharacterLiteral *E) {
11838 template<typename Derived>
11840 TreeTransform<Derived>::TransformUserDefinedLiteral(UserDefinedLiteral *E) {
11844 template<typename Derived>
11846 TreeTransform<Derived>::TransformGenericSelectionExpr(GenericSelectionExpr *E) {
11889 template<typename Derived>
11891 TreeTransform<Derived>::TransformParenExpr(ParenExpr *E) {
11906 template<typename Derived>
11908 TreeTransform<Derived>::TransformAddressOfOperand(Expr *E) {
11919 template<typename Derived>
11921 TreeTransform<Derived>::TransformUnaryOperator(UnaryOperator *E) {
11938 template<typename Derived>
11940 TreeTransform<Derived>::TransformOffsetOfExpr(OffsetOfExpr *E) {
12002 template<typename Derived>
12004 TreeTransform<Derived>::TransformOpaqueValueExpr(OpaqueValueExpr *E) {
12010 template<typename Derived>
12012 TreeTransform<Derived>::TransformTypoExpr(TypoExpr *E) {
12016 template <typename Derived>
12017 ExprResult TreeTransform<Derived>::TransformRecoveryExpr(RecoveryExpr *E) {
12034 template<typename Derived>
12036 TreeTransform<Derived>::TransformPseudoObjectExpr(PseudoObjectExpr *E) {
12056 template<typename Derived>
12058 TreeTransform<Derived>::TransformUnaryExprOrTypeTraitExpr(
12109 template<typename Derived>
12111 TreeTransform<Derived>::TransformArraySubscriptExpr(ArraySubscriptExpr *E) {
12131 template <typename Derived>
12133 TreeTransform<Derived>::TransformMatrixSubscriptExpr(MatrixSubscriptExpr *E) {
12154 template <typename Derived>
12156 TreeTransform<Derived>::TransformArraySectionExpr(ArraySectionExpr *E) {
12197 template <typename Derived>
12199 TreeTransform<Derived>::TransformOMPArrayShapingExpr(OMPArrayShapingExpr *E) {
12222 template <typename Derived>
12224 TreeTransform<Derived>::TransformOMPIteratorExpr(OMPIteratorExpr *E) {
12281 template<typename Derived>
12283 TreeTransform<Derived>::TransformCallExpr(CallExpr *E) {
12318 template<typename Derived>
12320 TreeTransform<Derived>::TransformMemberExpr(MemberExpr *E) {
12408 template<typename Derived>
12410 TreeTransform<Derived>::TransformBinaryOperator(BinaryOperator *E) {
12438 template <typename Derived>
12439 ExprResult TreeTransform<Derived>::TransformCXXRewrittenBinaryOperator(
12492 template<typename Derived>
12494 TreeTransform<Derived>::TransformCompoundAssignOperator(
12504 template<typename Derived>
12505 ExprResult TreeTransform<Derived>::
12530 template<typename Derived>
12532 TreeTransform<Derived>::TransformConditionalOperator(ConditionalOperator *E) {
12558 template<typename Derived>
12560 TreeTransform<Derived>::TransformImplicitCastExpr(ImplicitCastExpr *E) {
12566 template<typename Derived>
12568 TreeTransform<Derived>::TransformCStyleCastExpr(CStyleCastExpr *E) {
12589 template<typename Derived>
12591 TreeTransform<Derived>::TransformCompoundLiteralExpr(CompoundLiteralExpr *E) {
12615 template<typename Derived>
12617 TreeTransform<Derived>::TransformExtVectorElementExpr(ExtVectorElementExpr *E) {
12634 template<typename Derived>
12636 TreeTransform<Derived>::TransformInitListExpr(InitListExpr *E) {
12661 template<typename Derived>
12663 TreeTransform<Derived>::TransformDesignatedInitExpr(DesignatedInitExpr *E) {
12741 template<typename Derived>
12743 TreeTransform<Derived>::TransformDesignatedInitUpdateExpr(
12750 template<typename Derived>
12752 TreeTransform<Derived>::TransformNoInitExpr(
12758 template<typename Derived>
12760 TreeTransform<Derived>::TransformArrayInitLoopExpr(ArrayInitLoopExpr *E) {
12765 template<typename Derived>
12767 TreeTransform<Derived>::TransformArrayInitIndexExpr(ArrayInitIndexExpr *E) {
12772 template<typename Derived>
12774 TreeTransform<Derived>::TransformImplicitValueInitExpr(
12791 template<typename Derived>
12793 TreeTransform<Derived>::TransformVAArgExpr(VAArgExpr *E) {
12811 template<typename Derived>
12813 TreeTransform<Derived>::TransformParenListExpr(ParenListExpr *E) {
12830 template<typename Derived>
12832 TreeTransform<Derived>::TransformAddrLabelExpr(AddrLabelExpr *E) {
12842 template<typename Derived>
12844 TreeTransform<Derived>::TransformStmtExpr(StmtExpr *E) {
12867 template<typename Derived>
12869 TreeTransform<Derived>::TransformChooseExpr(ChooseExpr *E) {
12893 template<typename Derived>
12895 TreeTransform<Derived>::TransformGNUNullExpr(GNUNullExpr *E) {
12899 template<typename Derived>
12901 TreeTransform<Derived>::TransformCXXOperatorCallExpr(CXXOperatorCallExpr *E) {
13003 template<typename Derived>
13005 TreeTransform<Derived>::TransformCXXMemberCallExpr(CXXMemberCallExpr *E) {
13009 template <typename Derived>
13010 ExprResult TreeTransform<Derived>::TransformSourceLocExpr(SourceLocExpr *E) {
13022 template <typename Derived>
13023 ExprResult TreeTransform<Derived>::TransformEmbedExpr(EmbedExpr *E) {
13027 template<typename Derived>
13029 TreeTransform<Derived>::TransformCUDAKernelCallExpr(CUDAKernelCallExpr *E) {
13060 template<typename Derived>
13062 TreeTransform<Derived>::TransformCXXNamedCastExpr(CXXNamedCastExpr *E) {
13083 template<typename Derived>
13085 TreeTransform<Derived>::TransformBuiltinBitCastExpr(BuiltinBitCastExpr *BCE) {
13099 template<typename Derived>
13101 TreeTransform<Derived>::TransformCXXStaticCastExpr(CXXStaticCastExpr *E) {
13105 template<typename Derived>
13107 TreeTransform<Derived>::TransformCXXDynamicCastExpr(CXXDynamicCastExpr *E) {
13111 template<typename Derived>
13113 TreeTransform<Derived>::TransformCXXReinterpretCastExpr(
13118 template<typename Derived>
13120 TreeTransform<Derived>::TransformCXXConstCastExpr(CXXConstCastExpr *E) {
13124 template<typename Derived>
13126 TreeTransform<Derived>::TransformCXXAddrspaceCastExpr(CXXAddrspaceCastExpr *E) {
13130 template<typename Derived>
13132 TreeTransform<Derived>::TransformCXXFunctionalCastExpr(
13156 template<typename Derived>
13158 TreeTransform<Derived>::TransformCXXTypeidExpr(CXXTypeidExpr *E) {
13198 template<typename Derived>
13200 TreeTransform<Derived>::TransformCXXUuidofExpr(CXXUuidofExpr *E) {
13230 template<typename Derived>
13232 TreeTransform<Derived>::TransformCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) {
13236 template<typename Derived>
13238 TreeTransform<Derived>::TransformCXXNullPtrLiteralExpr(
13243 template<typename Derived>
13245 TreeTransform<Derived>::TransformCXXThisExpr(CXXThisExpr *E) {
13275 template<typename Derived>
13277 TreeTransform<Derived>::TransformCXXThrowExpr(CXXThrowExpr *E) {
13290 template<typename Derived>
13292 TreeTransform<Derived>::TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E) {
13314 template<typename Derived>
13316 TreeTransform<Derived>::TransformCXXDefaultInitExpr(CXXDefaultInitExpr *E) {
13329 template<typename Derived>
13331 TreeTransform<Derived>::TransformCXXScalarValueInitExpr(
13346 template<typename Derived>
13348 TreeTransform<Derived>::TransformCXXNewExpr(CXXNewExpr *E) {
13460 template<typename Derived>
13462 TreeTransform<Derived>::TransformCXXDeleteExpr(CXXDeleteExpr *E) {
13501 template<typename Derived>
13503 TreeTransform<Derived>::TransformCXXPseudoDestructorExpr(
13575 template <typename Derived>
13576 bool TreeTransform<Derived>::TransformOverloadExprDecls(OverloadExpr *Old,
13651 template <typename Derived>
13652 ExprResult TreeTransform<Derived>::TransformUnresolvedLookupExpr(
13657 template <typename Derived>
13659 TreeTransform<Derived>::TransformUnresolvedLookupExpr(UnresolvedLookupExpr *Old,
13724 template<typename Derived>
13726 TreeTransform<Derived>::TransformTypeTraitExpr(TypeTraitExpr *E) {
13857 template<typename Derived>
13859 TreeTransform<Derived>::TransformConceptSpecializationExpr(
13873 template<typename Derived>
13875 TreeTransform<Derived>::TransformRequiresExpr(RequiresExpr *E) {
13927 template<typename Derived>
13928 bool TreeTransform<Derived>::TransformRequiresExprRequirements(
13947 template<typename Derived>
13949 TreeTransform<Derived>::TransformTypeRequirement(
13963 template<typename Derived>
13965 TreeTransform<Derived>::TransformExprRequirement(concepts::ExprRequirement *Req) {
14003 template<typename Derived>
14005 TreeTransform<Derived>::TransformNestedRequirement(
14020 template<typename Derived>
14022 TreeTransform<Derived>::TransformArrayTypeTraitExpr(ArrayTypeTraitExpr *E) {
14047 template<typename Derived>
14049 TreeTransform<Derived>::TransformExpressionTraitExpr(ExpressionTraitExpr *E) {
14066 template <typename Derived>
14067 ExprResult TreeTransform<Derived>::TransformParenDependentScopeDeclRefExpr(
14084 template <typename Derived>
14085 ExprResult TreeTransform<Derived>::TransformDependentScopeDeclRefExpr(
14091 template <typename Derived>
14092 ExprResult TreeTransform<Derived>::TransformDependentScopeDeclRefExpr(
14133 template<typename Derived>
14135 TreeTransform<Derived>::TransformCXXConstructExpr(CXXConstructExpr *E) {
14186 template<typename Derived>
14187 ExprResult TreeTransform<Derived>::TransformCXXInheritedCtorInitExpr(
14216 template<typename Derived>
14218 TreeTransform<Derived>::TransformCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) {
14230 template<typename Derived>
14232 TreeTransform<Derived>::TransformExprWithCleanups(ExprWithCleanups *E) {
14236 template<typename Derived>
14238 TreeTransform<Derived>::TransformCXXTemporaryObjectExpr(
14279 template<typename Derived>
14281 TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr *E) {
14710 template<typename Derived>
14712 TreeTransform<Derived>::TransformLambdaBody(LambdaExpr *E, Stmt *S) {
14716 template<typename Derived>
14718 TreeTransform<Derived>::SkipLambdaBody(LambdaExpr *E, Stmt *S) {
14756 template<typename Derived>
14758 TreeTransform<Derived>::TransformCXXUnresolvedConstructExpr(
14787 template<typename Derived>
14789 TreeTransform<Derived>::TransformCXXDependentScopeMemberExpr(
14888 template <typename Derived>
14889 ExprResult TreeTransform<Derived>::TransformUnresolvedMemberExpr(
14954 template<typename Derived>
14956 TreeTransform<Derived>::TransformCXXNoexceptExpr(CXXNoexceptExpr *E) {
14969 template<typename Derived>
14971 TreeTransform<Derived>::TransformPackExpansionExpr(PackExpansionExpr *E) {
14983 template<typename Derived>
14985 TreeTransform<Derived>::TransformSizeOfPackExpr(SizeOfPackExpr *E) {
15097 Derived, const TemplateArgument*> PackLocIterator;
15124 template <typename Derived>
15126 TreeTransform<Derived>::TransformPackIndexingExpr(PackIndexingExpr *E) {
15203 template<typename Derived>
15205 TreeTransform<Derived>::TransformSubstNonTypeTemplateParmPackExpr(
15211 template<typename Derived>
15213 TreeTransform<Derived>::TransformSubstNonTypeTemplateParmExpr(
15219 template<typename Derived>
15221 TreeTransform<Derived>::TransformFunctionParmPackExpr(FunctionParmPackExpr *E) {
15226 template<typename Derived>
15228 TreeTransform<Derived>::TransformMaterializeTemporaryExpr(
15233 template<typename Derived>
15235 TreeTransform<Derived>::TransformCXXFoldExpr(CXXFoldExpr *E) {
15383 template <typename Derived>
15385 TreeTransform<Derived>::TransformCXXParenListInitExpr(CXXParenListInitExpr *E) {
15396 template<typename Derived>
15398 TreeTransform<Derived>::TransformCXXStdInitializerListExpr(
15403 template<typename Derived>
15405 TreeTransform<Derived>::TransformObjCStringLiteral(ObjCStringLiteral *E) {
15409 template<typename Derived>
15411 TreeTransform<Derived>::TransformObjCBoolLiteralExpr(ObjCBoolLiteralExpr *E) {
15415 template<typename Derived>
15417 TreeTransform<Derived>::TransformObjCBoxedExpr(ObjCBoxedExpr *E) {
15429 template<typename Derived>
15431 TreeTransform<Derived>::TransformObjCArrayLiteral(ObjCArrayLiteral *E) {
15447 template<typename Derived>
15449 TreeTransform<Derived>::TransformObjCDictionaryLiteral(
15568 template<typename Derived>
15570 TreeTransform<Derived>::TransformObjCEncodeExpr(ObjCEncodeExpr *E) {
15585 template<typename Derived>
15586 ExprResult TreeTransform<Derived>::
15595 template<typename Derived>
15596 ExprResult TreeTransform<Derived>::
15617 template <typename Derived>
15618 ExprResult TreeTransform<Derived>::TransformObjCAvailabilityCheckExpr(
15623 template<typename Derived>
15625 TreeTransform<Derived>::TransformObjCMessageExpr(ObjCMessageExpr *E) {
15700 template<typename Derived>
15702 TreeTransform<Derived>::TransformObjCSelectorExpr(ObjCSelectorExpr *E) {
15706 template<typename Derived>
15708 TreeTransform<Derived>::TransformObjCProtocolExpr(ObjCProtocolExpr *E) {
15712 template<typename Derived>
15714 TreeTransform<Derived>::TransformObjCIvarRefExpr(ObjCIvarRefExpr *E) {
15732 template<typename Derived>
15734 TreeTransform<Derived>::TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E) {
15764 template<typename Derived>
15766 TreeTransform<Derived>::TransformObjCSubscriptRefExpr(ObjCSubscriptRefExpr *E) {
15788 template<typename Derived>
15790 TreeTransform<Derived>::TransformObjCIsaExpr(ObjCIsaExpr *E) {
15806 template<typename Derived>
15808 TreeTransform<Derived>::TransformShuffleVectorExpr(ShuffleVectorExpr *E) {
15825 template<typename Derived>
15827 TreeTransform<Derived>::TransformConvertVectorExpr(ConvertVectorExpr *E) {
15846 template<typename Derived>
15848 TreeTransform<Derived>::TransformBlockExpr(BlockExpr *E) {
15928 template<typename Derived>
15930 TreeTransform<Derived>::TransformAsTypeExpr(AsTypeExpr *E) {
15941 template<typename Derived>
15943 TreeTransform<Derived>::TransformAtomicExpr(AtomicExpr *E) {
15963 template<typename Derived>
15964 QualType TreeTransform<Derived>::RebuildPointerType(QualType PointeeType,
15970 template<typename Derived>
15971 QualType TreeTransform<Derived>::RebuildBlockPointerType(QualType PointeeType,
15977 template<typename Derived>
15979 TreeTransform<Derived>::RebuildReferenceType(QualType ReferentType,
15986 template<typename Derived>
15988 TreeTransform<Derived>::RebuildMemberPointerType(QualType PointeeType,
15995 template<typename Derived>
15996 QualType TreeTransform<Derived>::RebuildObjCTypeParamType(
16007 template<typename Derived>
16008 QualType TreeTransform<Derived>::RebuildObjCObjectType(
16025 template<typename Derived>
16026 QualType TreeTransform<Derived>::RebuildObjCObjectPointerType(
16032 template <typename Derived>
16033 QualType TreeTransform<Derived>::RebuildArrayType(
16063 template <typename Derived>
16064 QualType TreeTransform<Derived>::RebuildConstantArrayType(
16071 template <typename Derived>
16072 QualType TreeTransform<Derived>::RebuildIncompleteArrayType(
16079 template <typename Derived>
16080 QualType TreeTransform<Derived>::RebuildVariableArrayType(
16088 template <typename Derived>
16089 QualType TreeTransform<Derived>::RebuildDependentSizedArrayType(
16097 template <typename Derived>
16098 QualType TreeTransform<Derived>::RebuildDependentAddressSpaceType(
16104 template <typename Derived>
16105 QualType TreeTransform<Derived>::RebuildVectorType(QualType ElementType,
16112 template <typename Derived>
16113 QualType TreeTransform<Derived>::RebuildDependentVectorType(
16119 template<typename Derived>
16120 QualType TreeTransform<Derived>::RebuildExtVectorType(QualType ElementType,
16131 template<typename Derived>
16133 TreeTransform<Derived>::RebuildDependentSizedExtVectorType(QualType ElementType,
16139 template <typename Derived>
16140 QualType TreeTransform<Derived>::RebuildConstantMatrixType(
16146 template <typename Derived>
16147 QualType TreeTransform<Derived>::RebuildDependentSizedMatrixType(
16154 template<typename Derived>
16155 QualType TreeTransform<Derived>::RebuildFunctionProtoType(
16165 template<typename Derived>
16166 QualType TreeTransform<Derived>::RebuildFunctionNoProtoType(QualType T) {
16170 template<typename Derived>
16171 QualType TreeTransform<Derived>::RebuildUnresolvedUsingType(SourceLocation Loc,
16226 template <typename Derived>
16227 QualType TreeTransform<Derived>::RebuildTypeOfExprType(Expr *E, SourceLocation,
16232 template<typename Derived>
16233 QualType TreeTransform<Derived>::RebuildTypeOfType(QualType Underlying,
16238 template <typename Derived>
16239 QualType TreeTransform<Derived>::RebuildDecltypeType(Expr *E, SourceLocation) {
16243 template <typename Derived>
16244 QualType TreeTransform<Derived>::RebuildPackIndexingType(
16252 template<typename Derived>
16253 QualType TreeTransform<Derived>::RebuildUnaryTransformType(QualType BaseType,
16259 template<typename Derived>
16260 QualType TreeTransform<Derived>::RebuildTemplateSpecializationType(
16267 template<typename Derived>
16268 QualType TreeTransform<Derived>::RebuildAtomicType(QualType ValueType,
16273 template<typename Derived>
16274 QualType TreeTransform<Derived>::RebuildPipeType(QualType ValueType,
16281 template <typename Derived>
16282 QualType TreeTransform<Derived>::RebuildBitIntType(bool IsUnsigned,
16292 template <typename Derived>
16293 QualType TreeTransform<Derived>::RebuildDependentBitIntType(
16298 template<typename Derived>
16300 TreeTransform<Derived>::RebuildTemplateName(CXXScopeSpec &SS,
16307 template<typename Derived>
16309 TreeTransform<Derived>::RebuildTemplateName(CXXScopeSpec &SS,
16326 template<typename Derived>
16328 TreeTransform<Derived>::RebuildTemplateName(CXXScopeSpec &SS,
16345 template <typename Derived>
16346 ExprResult TreeTransform<Derived>::RebuildCXXOperatorCallExpr(
16428 template<typename Derived>
16430 TreeTransform<Derived>::RebuildCXXPseudoDestructorExpr(Expr *Base,
16479 template<typename Derived>
16481 TreeTransform<Derived>::TransformCapturedStmt(CapturedStmt *S) {