Lines Matching defs:getDerived
145 Derived &getDerived() { return static_cast<Derived&>(*this); }
148 const Derived &getDerived() const {
214 OldLocation = Self.getDerived().getBaseLocation();
215 OldEntity = Self.getDerived().getBaseEntity();
218 Self.getDerived().setBase(Location, Entity);
222 Self.getDerived().setBase(OldLocation, OldEntity);
425 return getDerived().Transform##X##Attr(A); \
523 return getDerived().TransformDecl(Loc, D);
536 return cast_or_null<NamedDecl>(getDerived().TransformDecl(Loc, D));
665 getDerived().getBaseLocation());
734 return getDerived().TransformFunctionTypeParams(
752 if (getDerived().TransformFunctionTypeParams(
1145 TemplateName InstName = getDerived().RebuildTemplateName(
1161 getDerived().RebuildTemplateSpecializationType(InstName, NameLoc, Args);
3201 return getDerived().RebuildCXXStaticCastExpr(OpLoc, LAngleLoc, TInfo,
3206 return getDerived().RebuildCXXDynamicCastExpr(OpLoc, LAngleLoc, TInfo,
3211 return getDerived().RebuildCXXReinterpretCastExpr(OpLoc, LAngleLoc, TInfo,
3217 return getDerived().RebuildCXXConstCastExpr(OpLoc, LAngleLoc, TInfo,
3222 return getDerived().RebuildCXXAddrspaceCastExpr(
4258 case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(S));
4261 return getDerived().Transform##Node(cast<Node>(S), SDK);
4272 ExprResult E = getDerived().TransformExpr(cast<Expr>(S));
4294 return getDerived().Transform##Class(cast<Class>(S));
4312 case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E));
4353 return getDerived().TransformExpr(Init);
4358 return getDerived().RebuildParenListExpr(Parens.getBegin(), {},
4364 return getDerived().RebuildParenListExpr(SourceLocation(), {},
4370 return getDerived().TransformExpr(Init);
4388 if (getDerived().TransformExprs(Construct->getArgs(), Construct->getNumArgs(),
4394 return getDerived().RebuildInitList(Construct->getBeginLoc(), NewArgs,
4406 return getDerived().RebuildParenListExpr(Parens.getBegin(), NewArgs,
4418 if (IsCall && getDerived().DropCallArgument(Inputs[I])) {
4438 if (getDerived().TryExpandParameterPacks(Expansion->getEllipsisLoc(),
4450 ExprResult OutPattern = getDerived().TransformExpr(Pattern);
4454 ExprResult Out = getDerived().RebuildPackExpansion(OutPattern.get(),
4474 ExprResult Out = getDerived().TransformExpr(Pattern);
4479 Out = getDerived().RebuildPackExpansion(
4491 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
4493 ExprResult Out = getDerived().TransformExpr(Pattern);
4497 Out = getDerived().RebuildPackExpansion(
4509 IsCall ? getDerived().TransformInitializer(Inputs[I], /*DirectInit*/false)
4510 : getDerived().TransformExpr(Inputs[I]);
4528 getDerived().TransformDefinition(Var->getLocation(), Var));
4537 ExprResult CondExpr = getDerived().TransformExpr(Expr);
4580 cast_or_null<NamespaceDecl>(getDerived().TransformDecl(
4588 cast_or_null<NamespaceAliasDecl>(getDerived().TransformDecl(
4603 cast_or_null<CXXRecordDecl>(getDerived().TransformDecl(
4651 !getDerived().AlwaysRebuild())
4685 getDerived().TransformDecl(NameInfo.getLoc(), OldTemplate));
4701 NewTInfo = getDerived().TransformType(OldTInfo);
4709 QualType NewT = getDerived().TransformType(Name.getCXXNameType());
4741 = cast_or_null<TemplateDecl>(getDerived().TransformDecl(NameLoc,
4746 if (!getDerived().AlwaysRebuild() &&
4751 return getDerived().RebuildTemplateName(SS, QTN->hasTemplateKeyword(),
4762 if (!getDerived().AlwaysRebuild() &&
4771 return getDerived().RebuildTemplateName(SS,
4780 return getDerived().RebuildTemplateName(SS, TemplateKWLoc,
4788 = cast_or_null<TemplateDecl>(getDerived().TransformDecl(NameLoc,
4793 return getDerived().RebuildTemplateName(SS, /*TemplateKeyword=*/false,
4799 return getDerived().RebuildTemplateName(
4813 Arg, QualType(), getDerived().getBaseLocation());
4834 QualType NewT = getDerived().TransformType(T);
4841 ValueDecl *NewD = D ? cast_or_null<ValueDecl>(getDerived().TransformDecl(
4842 getDerived().getBaseLocation(), D))
4874 DI = getDerived().TransformType(DI);
4885 QualifierLoc = getDerived().TransformNestedNameSpecifierLoc(QualifierLoc);
4892 TemplateName Template = getDerived().TransformTemplateName(
4918 ExprResult E = getDerived().TransformExpr(InputExpr);
5034 if (getDerived().TryExpandParameterPacks(Ellipsis,
5048 if (getDerived().TransformTemplateArgument(Pattern, OutPattern, Uneval))
5051 Out = getDerived().RebuildPackExpansion(OutPattern, Ellipsis,
5065 if (getDerived().TransformTemplateArgument(Pattern, Out, Uneval))
5069 Out = getDerived().RebuildPackExpansion(Out, Ellipsis,
5081 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
5083 if (getDerived().TransformTemplateArgument(Pattern, Out, Uneval))
5086 Out = getDerived().RebuildPackExpansion(Out, Ellipsis,
5098 if (getDerived().TransformTemplateArgument(In, Out, Uneval))
5114 if (getDerived().AlreadyTransformed(T))
5120 getDerived().getBaseLocation());
5122 TypeSourceInfo *NewDI = getDerived().TransformType(DI);
5134 getDerived().getBaseEntity());
5135 if (getDerived().AlreadyTransformed(DI->getType()))
5143 QualType Result = getDerived().TransformType(TLB, TL);
5157 return getDerived().Transform##CLASS##Type(TLB, \
5170 if (getDerived().AlreadyTransformed(T))
5173 getDerived().getBaseLocation());
5174 TypeSourceInfo *NewDI = getDerived().TransformTypeWithDeducedTST(DI);
5186 getDerived().getBaseEntity());
5187 if (getDerived().AlreadyTransformed(DI->getType()))
5201 QualType Result = getDerived().TransformDependentNameType(
5207 Result = getDerived().RebuildQualifiedType(Result, QTL);
5225 Result = getDerived().TransformTemplateTypeParmType(TLB, TTP,
5228 Result = getDerived().TransformSubstTemplateTypeParmPackType(
5231 Result = getDerived().TransformType(TLB, UnqualTL);
5237 Result = getDerived().RebuildQualifiedType(Result, T);
5327 if (getDerived().AlreadyTransformed(TL.getType()))
5343 if (getDerived().AlreadyTransformed(TSInfo->getType()))
5355 assert(!getDerived().AlreadyTransformed(T));
5364 TemplateName Template = getDerived().TransformTemplateName(
5370 Result = getDerived().TransformTemplateSpecializationType(TLB, SpecTL,
5377 = getDerived().RebuildTemplateName(SS,
5386 Result = getDerived().TransformDependentTemplateSpecializationType(TLB,
5392 Result = getDerived().TransformType(TLB, TL);
5429 return getDerived().TransformType(TLB, TL.getOriginalLoc());
5435 QualType OriginalType = getDerived().TransformType(TLB, TL.getOriginalLoc());
5440 if (getDerived().AlwaysRebuild() ||
5452 QualType OriginalType = getDerived().TransformType(TLB, TL.getElementLoc());
5457 if (getDerived().AlwaysRebuild() ||
5469 = getDerived().TransformType(TLB, TL.getPointeeLoc());
5486 if (getDerived().AlwaysRebuild() ||
5488 Result = getDerived().RebuildPointerType(PointeeType, TL.getSigilLoc());
5507 = getDerived().TransformType(TLB, TL.getPointeeLoc());
5512 if (getDerived().AlwaysRebuild() ||
5514 Result = getDerived().RebuildBlockPointerType(PointeeType,
5536 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
5541 if (getDerived().AlwaysRebuild() ||
5543 Result = getDerived().RebuildReferenceType(PointeeType,
5584 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
5591 NewClsTInfo = getDerived().TransformType(OldClsTInfo);
5602 NewClsType = getDerived().TransformType(OldClsType);
5608 if (getDerived().AlwaysRebuild() ||
5611 Result = getDerived().RebuildMemberPointerType(PointeeType, NewClsType,
5637 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5649 NewSize = getDerived().TransformExpr(OldSize).template getAs<Expr>();
5654 if (getDerived().AlwaysRebuild() ||
5657 Result = getDerived().RebuildConstantArrayType(ElementType,
5683 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5688 if (getDerived().AlwaysRebuild() ||
5690 Result = getDerived().RebuildIncompleteArrayType(ElementType,
5711 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5719 SizeResult = getDerived().TransformExpr(T->getSizeExpr());
5731 if (getDerived().AlwaysRebuild() ||
5734 Result = getDerived().RebuildVariableArrayType(ElementType,
5758 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5774 = getDerived().TransformExpr(origSize);
5782 if (getDerived().AlwaysRebuild() ||
5785 Result = getDerived().RebuildDependentSizedArrayType(ElementType,
5808 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5815 ExprResult Size = getDerived().TransformExpr(T->getSizeExpr());
5821 if (getDerived().AlwaysRebuild() || ElementType != T->getElementType() ||
5823 Result = getDerived().RebuildDependentVectorType(
5849 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
5857 ExprResult Size = getDerived().TransformExpr(T->getSizeExpr());
5863 if (getDerived().AlwaysRebuild() ||
5866 Result = getDerived().RebuildDependentSizedExtVectorType(ElementType,
5891 QualType ElementType = getDerived().TransformType(T->getElementType());
5896 if (getDerived().AlwaysRebuild() || ElementType != T->getElementType()) {
5897 Result = getDerived().RebuildConstantMatrixType(
5917 QualType ElementType = getDerived().TransformType(T->getElementType());
5933 ExprResult rowResult = getDerived().TransformExpr(origRows);
5938 ExprResult columnResult = getDerived().TransformExpr(origColumns);
5947 if (getDerived().AlwaysRebuild() || ElementType != T->getElementType() ||
5949 Result = getDerived().RebuildDependentSizedMatrixType(
5972 getDerived().TransformType(TLB, TL.getPointeeTypeLoc());
5981 ExprResult AddrSpace = getDerived().TransformExpr(T->getAddrSpaceExpr());
5987 if (getDerived().AlwaysRebuild() || pointeeType != T->getPointeeType() ||
5989 Result = getDerived().RebuildDependentAddressSpaceType(
6015 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
6020 if (getDerived().AlwaysRebuild() ||
6022 Result = getDerived().RebuildVectorType(ElementType, T->getNumElements(),
6038 QualType ElementType = getDerived().TransformType(TLB, TL.getElementLoc());
6043 if (getDerived().AlwaysRebuild() ||
6045 Result = getDerived().RebuildExtVectorType(ElementType,
6075 QualType Result = getDerived().TransformType(TLB,
6092 NewDI = getDerived().TransformType(OldDI);
6151 if (getDerived().TryExpandParameterPacks(ExpansionTL.getEllipsisLoc(),
6171 getDerived().ExpandingFunctionParameterPack(OldParm);
6175 = getDerived().TransformFunctionTypeParam(OldParm,
6192 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
6194 = getDerived().TransformFunctionTypeParam(OldParm,
6221 NewParm = getDerived().TransformFunctionTypeParam(OldParm,
6229 NewParm = getDerived().TransformFunctionTypeParam(
6262 if (getDerived().TryExpandParameterPacks(Loc, SourceRange(),
6275 QualType NewType = getDerived().TransformType(Pattern);
6301 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
6302 QualType NewType = getDerived().TransformType(Pattern);
6318 NewType = getDerived().TransformType(OldType);
6320 NewType = getDerived().TransformType(OldType);
6353 return getDerived().TransformFunctionProtoType(
6356 return getDerived().TransformExceptionSpec(TL.getBeginLoc(), ESI,
6381 if (getDerived().TransformFunctionTypeParams(
6399 ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6405 ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6409 if (getDerived().TransformFunctionTypeParams(
6449 ExprResult NewExpr = getDerived().TransformExpr(CondExpr);
6487 if (getDerived().AlwaysRebuild() || ResultType != T->getReturnType() ||
6489 Result = getDerived().RebuildFunctionProtoType(ResultType, ParamTypes, EPI);
6523 ExprResult NoexceptExpr = getDerived().TransformExpr(ESI.NoexceptExpr);
6562 if (getDerived().TryExpandParameterPacks(
6572 QualType U = getDerived().TransformType(PackExpansion->getPattern());
6586 QualType U = getDerived().TransformType(PackExpansion->getPattern());
6593 QualType U = getDerived().TransformType(T);
6614 QualType ResultType = getDerived().TransformType(TLB, TL.getReturnLoc());
6619 if (getDerived().AlwaysRebuild() || ResultType != T->getReturnType())
6620 Result = getDerived().RebuildFunctionNoProtoType(ResultType);
6635 Decl *D = getDerived().TransformDecl(TL.getNameLoc(), T->getDecl());
6640 if (getDerived().AlwaysRebuild() || D != T->getDecl()) {
6641 Result = getDerived().RebuildUnresolvedUsingType(TL.getNameLoc(), D);
6659 auto *Found = cast_or_null<UsingShadowDecl>(getDerived().TransformDecl(
6664 QualType Underlying = getDerived().TransformType(T->desugar());
6669 if (getDerived().AlwaysRebuild() || Found != T->getFoundDecl() ||
6671 Result = getDerived().RebuildUsingType(Found, Underlying);
6685 = cast_or_null<TypedefNameDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6691 if (getDerived().AlwaysRebuild() ||
6693 Result = getDerived().RebuildTypedefType(Typedef);
6712 ExprResult E = getDerived().TransformExpr(TL.getUnderlyingExpr());
6722 if (getDerived().AlwaysRebuild() || E.get() != TL.getUnderlyingExpr()) {
6724 getDerived().RebuildTypeOfExprType(E.get(), TL.getTypeofLoc(), Kind);
6741 TypeSourceInfo* New_Under_TI = getDerived().TransformType(Old_Under_TI);
6747 if (getDerived().AlwaysRebuild() || New_Under_TI != Old_Under_TI) {
6748 Result = getDerived().RebuildTypeOfType(New_Under_TI->getType(), Kind);
6772 ExprResult E = getDerived().TransformExpr(T->getUnderlyingExpr());
6781 if (getDerived().AlwaysRebuild() ||
6783 Result = getDerived().RebuildDecltypeType(E.get(), TL.getDecltypeLoc());
6805 IndexExpr = getDerived().TransformExpr(TL.getIndexExpr());
6823 QualType Transformed = getDerived().TransformType(T);
6839 if (getDerived().TryExpandParameterPacks(TL.getEllipsisLoc(), SourceRange(),
6849 QualType Pack = getDerived().TransformType(TLB, TI->getTypeLoc());
6854 QualType Out = getDerived().RebuildPackIndexingType(
6869 QualType Out = getDerived().TransformType(T);
6879 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
6880 QualType Out = getDerived().TransformType(T);
6891 QualType Result = getDerived().TransformType(TLB, TL.getPatternLoc());
6893 QualType Out = getDerived().RebuildPackIndexingType(
6913 getDerived().TransformType(TL.getUnderlyingTInfo());
6918 Result = getDerived().RebuildUnaryTransformType(NewBase,
6938 TemplateName TemplateName = getDerived().TransformTemplateName(
6946 NewDeduced = getDerived().TransformType(OldDeduced);
6951 QualType Result = getDerived().RebuildDeducedTemplateSpecializationType(
6968 = cast_or_null<RecordDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6974 if (getDerived().AlwaysRebuild() ||
6976 Result = getDerived().RebuildRecordType(Record);
6992 = cast_or_null<EnumDecl>(getDerived().TransformDecl(TL.getNameLoc(),
6998 if (getDerived().AlwaysRebuild() ||
7000 Result = getDerived().RebuildEnumType(Enum);
7015 Decl *D = getDerived().TransformDecl(TL.getNameLoc(),
7028 return getDerived().TransformTemplateTypeParmType(
7046 getDerived().TransformDecl(TL.getNameLoc(), T->getAssociatedDecl());
7052 QualType Replacement = getDerived().TransformType(T->getReplacementType());
7071 return getDerived().TransformSubstTemplateTypeParmPackType(
7091 = getDerived().TransformTemplateName(SS, T->getTemplateName(),
7096 return getDerived().TransformTemplateSpecializationType(TLB, TL, Template);
7102 QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
7107 if (getDerived().AlwaysRebuild() ||
7109 Result = getDerived().RebuildAtomicType(ValueType, TL.getKWLoc());
7125 QualType ValueType = getDerived().TransformType(TLB, TL.getValueLoc());
7130 if (getDerived().AlwaysRebuild() || ValueType != TL.getValueLoc().getType()) {
7133 Result = getDerived().RebuildPipeType(ValueType, TL.getKWLoc(), isReadPipe);
7150 if (getDerived().AlwaysRebuild()) {
7151 Result = getDerived().RebuildBitIntType(EIT->isUnsigned(),
7169 ExprResult BitsExpr = getDerived().TransformExpr(EIT->getNumBitsExpr());
7177 if (getDerived().AlwaysRebuild() || BitsExpr.get() != EIT->getNumBitsExpr()) {
7178 Result = getDerived().RebuildDependentBitIntType(
7266 NewDeduced = getDerived().TransformType(OldDeduced);
7276 NewCD = cast_or_null<ConceptDecl>(getDerived().TransformDecl(
7282 if (getDerived().TransformTemplateArguments(
7289 = getDerived().TransformNestedNameSpecifierLoc(
7297 if (getDerived().AlwaysRebuild() || NewDeduced != OldDeduced ||
7304 Result = getDerived().RebuildAutoType(NewDeduced, T->getKeyword(), NewCD,
7340 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7350 getDerived().RebuildTemplateSpecializationType(Template,
7397 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7423 = getDerived().RebuildTemplateSpecializationType(Template,
7452 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7457 QualType NamedT = getDerived().TransformType(TLB, TL.getNamedTypeLoc());
7483 if (getDerived().AlwaysRebuild() ||
7486 Result = getDerived().RebuildElaboratedType(TL.getElaboratedKeywordLoc(),
7503 QualType modifiedType = getDerived().TransformType(TLB, TL.getModifiedLoc());
7509 const Attr *newAttr = oldAttr ? getDerived().TransformAttr(oldAttr) : nullptr;
7516 if (getDerived().AlwaysRebuild() ||
7535 getDerived().TransformType(AuxiliaryTLB, TL.getEquivalentTypeLoc());
7567 QualType InnerTy = getDerived().TransformType(TLB, TL.getInnerLoc());
7574 ExprResult CountResult = getDerived().TransformExpr(OldCount);
7581 if (getDerived().AlwaysRebuild() || InnerTy != OldTy->desugar() ||
7605 QualType WrappedTy = getDerived().TransformType(TLB, TL.getWrappedLoc());
7616 TypeSourceInfo *ContainedTSI = getDerived().TransformType(oldContainedTSI);
7623 if (getDerived().AlwaysRebuild() || WrappedTy != oldType->getWrappedType() ||
7637 QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
7642 if (getDerived().AlwaysRebuild() ||
7644 Result = getDerived().RebuildParenType(Inner);
7659 QualType Inner = getDerived().TransformType(TLB, TL.getInnerLoc());
7664 if (getDerived().AlwaysRebuild() || Inner != TL.getInnerLoc().getType()) {
7666 getDerived().RebuildMacroQualifiedType(Inner, TL.getMacroIdentifier());
7688 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7693 = getDerived().RebuildDependentNameType(T->getKeyword(),
7725 = getDerived().TransformNestedNameSpecifierLoc(TL.getQualifierLoc());
7730 return getDerived()
7747 if (getDerived().TransformTemplateArguments(ArgIterator(TL, 0),
7752 QualType Result = getDerived().RebuildDependentTemplateSpecializationType(
7804 = getDerived().TransformType(TLB, TL.getPatternLoc());
7809 if (getDerived().AlwaysRebuild() ||
7811 Result = getDerived().RebuildPackExpansionType(Pattern,
7839 getDerived().TransformDecl(T->getDecl()->getLocation(), T->getDecl()));
7844 if (getDerived().AlwaysRebuild() ||
7846 Result = getDerived().RebuildObjCTypeParamType(
7869 QualType BaseType = getDerived().TransformType(TLB, TL.getBaseLoc());
7898 if (getDerived().TryExpandParameterPacks(
7911 QualType NewPatternType = getDerived().TransformType(TypeArgBuilder,
7933 QualType NewTypeArg = getDerived().TransformType(TypeArgBuilder,
7948 getDerived().TransformType(TypeArgBuilder, TypeArgLoc);
7964 if (getDerived().AlwaysRebuild() || AnyChanged) {
7966 Result = getDerived().RebuildObjCObjectType(
7993 QualType PointeeType = getDerived().TransformType(TLB, TL.getPointeeLoc());
7998 if (getDerived().AlwaysRebuild() ||
8000 Result = getDerived().RebuildObjCObjectPointerType(PointeeType,
8023 return getDerived().TransformCompoundStmt(S, false);
8041 StmtResult Result = getDerived().TransformStmt(
8062 if (!getDerived().AlwaysRebuild() &&
8066 return getDerived().RebuildCompoundStmt(S->getLBracLoc(),
8081 LHS = getDerived().TransformExpr(S->getLHS());
8087 RHS = getDerived().TransformExpr(S->getRHS());
8096 StmtResult Case = getDerived().RebuildCaseStmt(S->getCaseLoc(),
8106 getDerived().TransformStmt(S->getSubStmt());
8111 return getDerived().RebuildCaseStmtBody(Case.get(), SubStmt.get());
8118 getDerived().TransformStmt(S->getSubStmt());
8123 return getDerived().RebuildDefaultStmt(S->getDefaultLoc(), S->getColonLoc(),
8130 StmtResult SubStmt = getDerived().TransformStmt(S->getSubStmt(), SDK);
8134 Decl *LD = getDerived().TransformDecl(S->getDecl()->getLocation(),
8146 return getDerived().RebuildLabelStmt(S->getIdentLoc(),
8160 return getDerived().Transform##X##Attr(cast<X##Attr>(R));
8177 return getDerived().TransformStmt##X##Attr(OrigS, InstS, cast<X##Attr>(R));
8187 StmtResult SubStmt = getDerived().TransformStmt(S->getSubStmt(), SDK);
8197 getDerived().TransformStmtAttr(S->getSubStmt(), SubStmt.get(), I);
8211 return getDerived().RebuildAttributedStmt(S->getAttrLoc(), Attrs,
8219 StmtResult Init = getDerived().TransformStmt(S->getInit());
8226 Cond = getDerived().TransformCondition(
8247 Then = getDerived().TransformStmt(S->getThen());
8266 Else = getDerived().TransformStmt(S->getElse());
8278 if (!getDerived().AlwaysRebuild() &&
8285 return getDerived().RebuildIfStmt(
8294 StmtResult Init = getDerived().TransformStmt(S->getInit());
8299 Sema::ConditionResult Cond = getDerived().TransformCondition(
8307 getDerived().RebuildSwitchStmtStart(S->getSwitchLoc(), S->getLParenLoc(),
8313 StmtResult Body = getDerived().TransformStmt(S->getBody());
8318 return getDerived().RebuildSwitchStmtBody(S->getSwitchLoc(), Switch.get(),
8326 Sema::ConditionResult Cond = getDerived().TransformCondition(
8338 StmtResult Body = getDerived().TransformStmt(S->getBody());
8342 if (!getDerived().AlwaysRebuild() &&
8347 return getDerived().RebuildWhileStmt(S->getWhileLoc(), S->getLParenLoc(),
8360 StmtResult Body = getDerived().TransformStmt(S->getBody());
8365 ExprResult Cond = getDerived().TransformExpr(S->getCond());
8369 if (!getDerived().AlwaysRebuild() &&
8374 return getDerived().RebuildDoStmt(S->getDoLoc(), Body.get(), S->getWhileLoc(),
8386 StmtResult Init = getDerived().TransformStmt(S->getInit());
8397 Sema::ConditionResult Cond = getDerived().TransformCondition(
8404 ExprResult Inc = getDerived().TransformExpr(S->getInc());
8420 StmtResult Body = getDerived().TransformStmt(S->getBody());
8426 if (!getDerived().AlwaysRebuild() &&
8433 return getDerived().RebuildForStmt(S->getForLoc(), S->getLParenLoc(),
8441 Decl *LD = getDerived().TransformDecl(S->getLabel()->getLocation(),
8447 return getDerived().RebuildGotoStmt(S->getGotoLoc(), S->getLabelLoc(),
8454 ExprResult Target = getDerived().TransformExpr(S->getTarget());
8459 if (!getDerived().AlwaysRebuild() &&
8463 return getDerived().RebuildIndirectGotoStmt(S->getGotoLoc(), S->getStarLoc(),
8482 ExprResult Result = getDerived().TransformInitializer(S->getRetValue(),
8489 return getDerived().RebuildReturnStmt(S->getReturnLoc(), Result.get());
8499 Decl *Transformed = getDerived().TransformDefinition(D->getLocation(), D);
8523 if (!getDerived().AlwaysRebuild() && !DeclChanged)
8526 return getDerived().RebuildDeclStmt(Decls, S->getBeginLoc(), S->getEndLoc());
8551 ExprResult Result = getDerived().TransformExpr(OutputExpr);
8569 ExprResult Result = getDerived().TransformExpr(InputExpr);
8582 ExprResult Result = getDerived().TransformExpr(S->getLabelExpr(I));
8588 if (!getDerived().AlwaysRebuild() && !ExprsChanged)
8597 return getDerived().RebuildGCCAsmStmt(S->getAsmLoc(), S->isSimple(),
8616 ExprResult Result = getDerived().TransformExpr(SrcExprs[i]);
8626 if (!HadChange && !getDerived().AlwaysRebuild())
8629 return getDerived().RebuildMSAsmStmt(S->getAsmLoc(), S->getLBraceLoc(),
8663 getDerived().transformedLocalDecl(S->getPromiseDecl(), {Promise});
8669 StmtResult InitSuspend = getDerived().TransformStmt(S->getInitSuspendStmt());
8673 getDerived().TransformStmt(S->getFinalSuspendStmt());
8680 StmtResult BodyRes = getDerived().TransformStmt(S->getBody());
8690 ExprResult Res = getDerived().TransformInitializer(ReturnObject,
8711 StmtResult Res = getDerived().TransformStmt(OnFallthrough);
8718 StmtResult Res = getDerived().TransformStmt(OnException);
8725 StmtResult Res = getDerived().TransformStmt(OnAllocFailure);
8734 ExprResult AllocRes = getDerived().TransformExpr(S->getAllocate());
8739 ExprResult DeallocRes = getDerived().TransformExpr(S->getDeallocate());
8745 StmtResult Res = getDerived().TransformStmt(ResultDecl);
8752 StmtResult Res = getDerived().TransformStmt(ReturnStmt);
8759 return getDerived().RebuildCoroutineBodyStmt(Builder);
8765 ExprResult Result = getDerived().TransformInitializer(S->getOperand(),
8772 return getDerived().RebuildCoreturnStmt(S->getKeywordLoc(), Result.get(),
8778 ExprResult Operand = getDerived().TransformInitializer(E->getOperand(),
8794 return getDerived().RebuildCoawaitExpr(
8802 ExprResult OperandResult = getDerived().TransformInitializer(E->getOperand(),
8807 ExprResult LookupResult = getDerived().TransformUnresolvedLookupExpr(
8815 return getDerived().RebuildDependentCoawaitExpr(
8823 ExprResult Result = getDerived().TransformInitializer(E->getOperand(),
8830 return getDerived().RebuildCoyieldExpr(E->getKeywordLoc(), Result.get());
8839 StmtResult TryBody = getDerived().TransformStmt(S->getTryBody());
8847 StmtResult Catch = getDerived().TransformStmt(S->getCatchStmt(I));
8858 Finally = getDerived().TransformStmt(S->getFinallyStmt());
8864 if (!getDerived().AlwaysRebuild() &&
8871 return getDerived().RebuildObjCAtTryStmt(S->getAtTryLoc(), TryBody.get(),
8883 TSInfo = getDerived().TransformType(FromVar->getTypeSourceInfo());
8892 T = getDerived().TransformType(FromVar->getType());
8897 Var = getDerived().RebuildObjCExceptionDecl(FromVar, TSInfo, T);
8902 StmtResult Body = getDerived().TransformStmt(S->getCatchBody());
8906 return getDerived().RebuildObjCAtCatchStmt(S->getAtCatchLoc(),
8915 StmtResult Body = getDerived().TransformStmt(S->getFinallyBody());
8920 if (!getDerived().AlwaysRebuild() &&
8925 return getDerived().RebuildObjCAtFinallyStmt(S->getAtFinallyLoc(),
8934 Operand = getDerived().TransformExpr(S->getThrowExpr());
8939 if (!getDerived().AlwaysRebuild() &&
8943 return getDerived().RebuildObjCAtThrowStmt(S->getThrowLoc(), Operand.get());
8951 ExprResult Object = getDerived().TransformExpr(S->getSynchExpr());
8955 getDerived().RebuildObjCAtSynchronizedOperand(S->getAtSynchronizedLoc(),
8961 StmtResult Body = getDerived().TransformStmt(S->getSynchBody());
8966 if (!getDerived().AlwaysRebuild() &&
8972 return getDerived().RebuildObjCAtSynchronizedStmt(S->getAtSynchronizedLoc(),
8981 StmtResult Body = getDerived().TransformStmt(S->getSubStmt());
8986 if (!getDerived().AlwaysRebuild() &&
8991 return getDerived().RebuildObjCAutoreleasePoolStmt(
9001 getDerived().TransformStmt(S->getElement(), SDK_NotDiscarded);
9006 ExprResult Collection = getDerived().TransformExpr(S->getCollection());
9011 StmtResult Body = getDerived().TransformStmt(S->getBody());
9016 if (!getDerived().AlwaysRebuild() &&
9023 return getDerived().RebuildObjCForCollectionStmt(S->getForLoc(),
9036 getDerived().TransformType(ExceptionDecl->getTypeSourceInfo());
9040 Var = getDerived().RebuildExceptionDecl(
9048 StmtResult Handler = getDerived().TransformStmt(S->getHandlerBlock());
9052 if (!getDerived().AlwaysRebuild() && !Var &&
9056 return getDerived().RebuildCXXCatchStmt(S->getCatchLoc(), Var, Handler.get());
9062 StmtResult TryBlock = getDerived().TransformCompoundStmt(S->getTryBlock());
9070 StmtResult Handler = getDerived().TransformCXXCatchStmt(S->getHandler(I));
9078 if (!getDerived().AlwaysRebuild() && TryBlock.get() == S->getTryBlock() &&
9082 return getDerived().RebuildCXXTryStmt(S->getTryLoc(), TryBlock.get(),
9102 S->getInit() ? getDerived().TransformStmt(S->getInit()) : StmtResult();
9106 StmtResult Range = getDerived().TransformStmt(S->getRangeStmt());
9116 StmtResult Begin = getDerived().TransformStmt(S->getBeginStmt());
9119 StmtResult End = getDerived().TransformStmt(S->getEndStmt());
9123 ExprResult Cond = getDerived().TransformExpr(S->getCond());
9133 ExprResult Inc = getDerived().TransformExpr(S->getInc());
9139 StmtResult LoopVar = getDerived().TransformStmt(S->getLoopVarStmt());
9144 if (getDerived().AlwaysRebuild() ||
9152 NewStmt = getDerived().RebuildCXXForRangeStmt(
9169 StmtResult Body = getDerived().TransformStmt(S->getBody());
9178 NewStmt = getDerived().RebuildCXXForRangeStmt(
9200 = getDerived().TransformNestedNameSpecifierLoc(S->getQualifierLoc());
9208 NameInfo = getDerived().TransformDeclarationNameInfo(NameInfo);
9214 if (!getDerived().AlwaysRebuild() &&
9245 StmtResult SubStmt = getDerived().TransformCompoundStmt(S->getSubStmt());
9254 return getDerived().RebuildMSDependentExistsStmt(S->getKeywordLoc(),
9267 = getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc());
9273 getDerived().TransformDecl(E->getMemberLoc(), E->getPropertyDecl()));
9277 ExprResult Base = getDerived().TransformExpr(E->getBaseExpr());
9290 auto BaseRes = getDerived().TransformExpr(E->getBase());
9293 auto IdxRes = getDerived().TransformExpr(E->getIdx());
9297 if (!getDerived().AlwaysRebuild() &&
9302 return getDerived().RebuildArraySubscriptExpr(
9308 StmtResult TryBlock = getDerived().TransformCompoundStmt(S->getTryBlock());
9312 StmtResult Handler = getDerived().TransformSEHHandler(S->getHandler());
9316 if (!getDerived().AlwaysRebuild() && TryBlock.get() == S->getTryBlock() &&
9320 return getDerived().RebuildSEHTryStmt(S->getIsCXXTry(), S->getTryLoc(),
9326 StmtResult Block = getDerived().TransformCompoundStmt(S->getBlock());
9330 return getDerived().RebuildSEHFinallyStmt(S->getFinallyLoc(), Block.get());
9335 ExprResult FilterExpr = getDerived().TransformExpr(S->getFilterExpr());
9339 StmtResult Block = getDerived().TransformCompoundStmt(S->getBlock());
9343 return getDerived().RebuildSEHExceptStmt(S->getExceptLoc(), FilterExpr.get(),
9350 return getDerived().TransformSEHFinallyStmt(cast<SEHFinallyStmt>(Handler));
9352 return getDerived().TransformSEHExceptStmt(cast<SEHExceptStmt>(Handler));
9371 return getDerived().TransformStmt(L->getLoopStmt());
9385 getDerived().getSema().OpenMP().StartOpenMPClause((*I)->getClauseKind());
9386 OMPClause *Clause = getDerived().TransformOMPClause(*I);
9387 getDerived().getSema().OpenMP().EndOpenMPClause();
9396 getDerived().getSema().OpenMP().ActOnOpenMPRegionStart(
9410 Body = getDerived().TransformStmt(CS);
9413 Body = getDerived().RebuildOMPCanonicalLoop(Body.get());
9416 getDerived().getSema().OpenMP().ActOnOpenMPRegionEnd(Body, TClauses);
9429 DirName = getDerived().TransformDeclarationNameInfo(DirName);
9438 return getDerived().RebuildOMPExecutableDirective(
9458 getDerived().getSema().OpenMP().StartOpenMPClause(C->getClauseKind());
9459 OMPClause *Clause = getDerived().TransformOMPClause(C);
9460 getDerived().getSema().OpenMP().EndOpenMPClause();
9469 getDerived().getSema().OpenMP().ActOnOpenMPRegionStart(
9478 Body = getDerived().TransformStmt(CS);
9481 getDerived().getSema().OpenMP().ActOnOpenMPRegionEnd(Body, TClauses);
9490 return getDerived().RebuildOMPInformationalDirective(
9508 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9510 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9511 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9519 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9521 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9522 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9530 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9532 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9533 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9541 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9543 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9544 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9552 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9554 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9555 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9563 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9565 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9566 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9574 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9576 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9577 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9585 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9587 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9588 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9596 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9598 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9599 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9607 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9609 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9610 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9618 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9620 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9621 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9629 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9631 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9632 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9640 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9642 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9643 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9650 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9652 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9653 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9661 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9663 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9664 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9672 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9674 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9675 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9683 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9685 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9686 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9694 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9696 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9697 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9705 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9707 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9708 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9716 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9718 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9719 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9727 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9729 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9730 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9738 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9740 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9741 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9749 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9751 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9752 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9760 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9762 StmtResult Res = getDerived().TransformOMPInformationalDirective(D);
9763 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9771 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9773 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9774 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9782 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9784 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9785 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9793 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9795 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9796 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9804 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9806 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9807 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9815 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9817 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9818 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9826 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9828 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9829 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9837 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9839 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9840 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9848 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9850 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9851 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9859 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9861 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9862 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9870 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9872 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9873 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9881 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9883 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9884 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9892 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9894 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9895 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9903 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9905 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9906 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9914 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9916 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9917 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9925 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9927 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9928 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9936 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9938 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9939 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9947 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9949 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9950 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9958 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9960 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9961 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9969 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9971 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9972 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9980 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9982 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9983 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
9991 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
9993 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
9994 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10002 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10004 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10005 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10013 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10015 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10016 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10024 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10026 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10027 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10035 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10037 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10038 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10047 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10049 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10050 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10059 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10061 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10062 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10070 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10072 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10073 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10081 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10083 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10084 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10093 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10095 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10096 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10104 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10106 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10107 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10115 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10117 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10118 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10126 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10128 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10129 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10137 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10139 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10140 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10148 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10150 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10151 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10159 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10162 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10163 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10171 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10173 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10174 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10182 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10184 auto Res = getDerived().TransformOMPExecutableDirective(D);
10185 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10193 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10195 auto Res = getDerived().TransformOMPExecutableDirective(D);
10196 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10205 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10208 auto Res = getDerived().TransformOMPExecutableDirective(D);
10209 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10218 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10221 auto Res = getDerived().TransformOMPExecutableDirective(D);
10222 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10231 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10233 auto Res = getDerived().TransformOMPExecutableDirective(D);
10234 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10242 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10244 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10245 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10253 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10255 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10256 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10264 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10266 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10267 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10275 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10277 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10278 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10286 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10288 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10289 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10297 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10299 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10300 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10308 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10310 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10311 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10320 getDerived().getSema().OpenMP().StartOpenMPDSABlock(
10322 StmtResult Res = getDerived().TransformOMPExecutableDirective(D);
10323 getDerived().getSema().OpenMP().EndOpenMPDSABlock(Res.get());
10332 ExprResult Cond = getDerived().TransformExpr(C->getCondition());
10335 return getDerived().RebuildOMPIfClause(
10342 ExprResult Cond = getDerived().TransformExpr(C->getCondition());
10345 return getDerived().RebuildOMPFinalClause(Cond.get(), C->getBeginLoc(),
10352 ExprResult NumThreads = getDerived().TransformExpr(C->getNumThreads());
10355 return getDerived().RebuildOMPNumThreadsClause(
10362 ExprResult E = getDerived().TransformExpr(C->getSafelen());
10365 return getDerived().RebuildOMPSafelenClause(
10372 ExprResult E = getDerived().TransformExpr(C->getAllocator());
10375 return getDerived().RebuildOMPAllocatorClause(
10382 ExprResult E = getDerived().TransformExpr(C->getSimdlen());
10385 return getDerived().RebuildOMPSimdlenClause(
10400 ExprResult T = getDerived().TransformExpr(E);
10408 if (!Changed && !getDerived().AlwaysRebuild())
10426 ExprResult T = getDerived().TransformExpr(E);
10434 if (!Changed && !getDerived().AlwaysRebuild())
10442 if (!getDerived().AlwaysRebuild())
10450 ExprResult T = getDerived().TransformExpr(C->getFactor());
10456 if (!Changed && !getDerived().AlwaysRebuild())
10465 ExprResult E = getDerived().TransformExpr(C->getNumForLoops());
10468 return getDerived().RebuildOMPCollapseClause(
10475 return getDerived().RebuildOMPDefaultClause(
10483 return getDerived().RebuildOMPProcBindClause(
10491 ExprResult E = getDerived().TransformExpr(C->getChunkSize());
10494 return getDerived().RebuildOMPScheduleClause(
10506 E = getDerived().TransformExpr(Num);
10510 return getDerived().RebuildOMPOrderedClause(C->getBeginLoc(), C->getEndLoc(),
10519 E = getDerived().TransformExpr(Evt);
10523 return getDerived().RebuildOMPDetachClause(E.get(), C->getBeginLoc(),
10595 ExprResult E = getDerived().TransformExpr(C->getExpr());
10598 return getDerived().RebuildOMPHoldsClause(E.get(), C->getBeginLoc(),
10687 ExprResult IVR = getDerived().TransformExpr(C->getInteropVar());
10694 ExprResult ER = getDerived().TransformExpr(cast<Expr>(E));
10699 return getDerived().RebuildOMPInitClause(IVR.get(), InteropInfo,
10706 ExprResult ER = getDerived().TransformExpr(C->getInteropVar());
10709 return getDerived().RebuildOMPUseClause(ER.get(), C->getBeginLoc(),
10719 ER = getDerived().TransformExpr(IV);
10723 return getDerived().RebuildOMPDestroyClause(ER.get(), C->getBeginLoc(),
10731 ExprResult Cond = getDerived().TransformExpr(C->getCondition());
10734 return getDerived().RebuildOMPNovariantsClause(
10741 ExprResult Cond = getDerived().TransformExpr(C->getCondition());
10744 return getDerived().RebuildOMPNocontextClause(
10751 ExprResult ThreadID = getDerived().TransformExpr(C->getThreadID());
10754 return getDerived().RebuildOMPFilterClause(ThreadID.get(), C->getBeginLoc(),
10760 ExprResult E = getDerived().TransformExpr(C->getAlignment());
10763 return getDerived().RebuildOMPAlignClause(E.get(), C->getBeginLoc(),
10802 return getDerived().RebuildOMPAtClause(C->getAtKind(), C->getAtKindKwLoc(),
10810 return getDerived().RebuildOMPSeverityClause(
10818 ExprResult E = getDerived().TransformExpr(C->getMessageString());
10821 return getDerived().RebuildOMPMessageClause(
10832 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10837 return getDerived().RebuildOMPPrivateClause(
10847 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10852 return getDerived().RebuildOMPFirstprivateClause(
10862 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10867 return getDerived().RebuildOMPLastprivateClause(
10878 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10883 return getDerived().RebuildOMPSharedClause(Vars, C->getBeginLoc(),
10893 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10903 NameInfo = getDerived().TransformDeclarationNameInfo(NameInfo);
10917 cast<NamedDecl>(getDerived().TransformDecl(E->getExprLoc(), D));
10928 return getDerived().RebuildOMPReductionClause(
10940 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10950 NameInfo = getDerived().TransformDeclarationNameInfo(NameInfo);
10964 cast<NamedDecl>(getDerived().TransformDecl(E->getExprLoc(), D));
10975 return getDerived().RebuildOMPTaskReductionClause(
10986 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
10996 NameInfo = getDerived().TransformDeclarationNameInfo(NameInfo);
11010 cast<NamedDecl>(getDerived().TransformDecl(E->getExprLoc(), D));
11021 return getDerived().RebuildOMPInReductionClause(
11032 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11037 ExprResult Step = getDerived().TransformExpr(C->getStep());
11040 return getDerived().RebuildOMPLinearClause(
11052 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11057 ExprResult Alignment = getDerived().TransformExpr(C->getAlignment());
11060 return getDerived().RebuildOMPAlignedClause(
11071 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11076 return getDerived().RebuildOMPCopyinClause(Vars, C->getBeginLoc(),
11086 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11091 return getDerived().RebuildOMPCopyprivateClause(
11100 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11105 return getDerived().RebuildOMPFlushClause(Vars, C->getBeginLoc(),
11112 ExprResult E = getDerived().TransformExpr(C->getDepobj());
11115 return getDerived().RebuildOMPDepobjClause(E.get(), C->getBeginLoc(),
11125 ExprResult DepModRes = getDerived().TransformExpr(DepModifier);
11132 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11137 return getDerived().RebuildOMPDependClause(
11146 ExprResult E = getDerived().TransformExpr(C->getDevice());
11149 return getDerived().RebuildOMPDeviceClause(
11163 ExprResult EVar = TT.getDerived().TransformExpr(cast<Expr>(VE));
11171 QualifierLoc = TT.getDerived().TransformNestedNameSpecifierLoc(
11179 MapperIdInfo = TT.getDerived().TransformDeclarationNameInfo(MapperIdInfo);
11192 cast<NamedDecl>(TT.getDerived().TransformDecl(E->getExprLoc(), D));
11213 ExprResult MapModRes = getDerived().TransformExpr(IteratorModifier);
11224 return getDerived().RebuildOMPMapClause(
11235 ExprResult AllocatorRes = getDerived().TransformExpr(Allocator);
11242 ExprResult AlignmentRes = getDerived().TransformExpr(Alignment);
11250 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11255 return getDerived().RebuildOMPAllocateClause(
11268 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11273 return getDerived().RebuildOMPNumTeamsClause(
11283 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11288 return getDerived().RebuildOMPThreadLimitClause(
11295 ExprResult E = getDerived().TransformExpr(C->getPriority());
11298 return getDerived().RebuildOMPPriorityClause(
11305 ExprResult E = getDerived().TransformExpr(C->getGrainsize());
11308 return getDerived().RebuildOMPGrainsizeClause(
11316 ExprResult E = getDerived().TransformExpr(C->getNumTasks());
11319 return getDerived().RebuildOMPNumTasksClause(
11326 ExprResult E = getDerived().TransformExpr(C->getHint());
11329 return getDerived().RebuildOMPHintClause(E.get(), C->getBeginLoc(),
11336 ExprResult E = getDerived().TransformExpr(C->getChunkSize());
11339 return getDerived().RebuildOMPDistScheduleClause(
11349 return getDerived().RebuildOMPDefaultmapClause(C->getDefaultmapModifier(),
11368 return getDerived().RebuildOMPToClause(
11383 return getDerived().RebuildOMPFromClause(
11394 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11400 return getDerived().RebuildOMPUseDevicePtrClause(Vars, Locs);
11409 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11415 return getDerived().RebuildOMPUseDeviceAddrClause(Vars, Locs);
11424 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11430 return getDerived().RebuildOMPIsDevicePtrClause(Vars, Locs);
11439 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11445 return getDerived().RebuildOMPHasDeviceAddrClause(Vars, Locs);
11454 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11459 return getDerived().RebuildOMPNontemporalClause(
11469 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11474 return getDerived().RebuildOMPInclusiveClause(
11484 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11489 return getDerived().RebuildOMPExclusiveClause(
11500 ExprResult Allocator = getDerived().TransformExpr(D.Allocator);
11505 AllocatorTraits = getDerived().TransformExpr(AT);
11515 return getDerived().RebuildOMPUsesAllocatorsClause(
11526 ModifierRes = getDerived().TransformExpr(Modifier);
11531 ExprResult Locator = getDerived().TransformExpr(E);
11536 return getDerived().RebuildOMPAffinityClause(
11543 return getDerived().RebuildOMPOrderClause(
11550 return getDerived().RebuildOMPBindClause(
11558 ExprResult Size = getDerived().TransformExpr(C->getSize());
11561 return getDerived().RebuildOMPXDynCGroupMemClause(
11571 ExprResult EVar = getDerived().TransformExpr(cast<Expr>(VE));
11576 return getDerived().RebuildOMPDoacrossClause(
11586 NewAttrs.push_back(getDerived().TransformAttr(A));
11587 return getDerived().RebuildOMPXAttributeClause(
11593 return getDerived().RebuildOMPXBareClause(C->getBeginLoc(), C->getEndLoc());
12337 if (OpenACCClause *TransformedClause = getDerived().TransformOpenACCClause(
12350 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12361 StmtResult StrBlock = getDerived().TransformStmt(C->getStructuredBlock());
12365 return getDerived().RebuildOpenACCComputeConstruct(
12377 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12388 StmtResult Loop = getDerived().TransformStmt(C->getLoop());
12392 return getDerived().RebuildOpenACCLoopConstruct(
12403 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12414 StmtResult Loop = getDerived().TransformStmt(C->getLoop());
12418 return getDerived().RebuildOpenACCCombinedConstruct(
12429 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12438 StmtResult StrBlock = getDerived().TransformStmt(C->getStructuredBlock());
12442 return getDerived().RebuildOpenACCDataConstruct(
12453 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12459 return getDerived().RebuildOpenACCEnterDataConstruct(
12470 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12476 return getDerived().RebuildOpenACCExitDataConstruct(
12487 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12496 StmtResult StrBlock = getDerived().TransformStmt(C->getStructuredBlock());
12500 return getDerived().RebuildOpenACCHostDataConstruct(
12511 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12517 return getDerived().RebuildOpenACCInitConstruct(
12528 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12534 return getDerived().RebuildOpenACCShutdownConstruct(
12544 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12550 return getDerived().RebuildOpenACCSetConstruct(
12561 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12567 return getDerived().RebuildOpenACCUpdateConstruct(
12579 DevNumExpr = getDerived().TransformExpr(C->getDevNumExpr());
12591 ExprResult NewEQ = getDerived().TransformExpr(QE);
12603 getDerived().TransformOpenACCClauseList(C->getDirectiveKind(),
12610 return getDerived().RebuildOpenACCWaitConstruct(
12619 if (getDerived().AlwaysRebuild())
12620 return getDerived().RebuildOpenACCAsteriskSizeExpr(E->getLocation());
12640 TypeSourceInfo *NewT = getDerived().TransformType(E->getTypeSourceInfo());
12645 if (!getDerived().AlwaysRebuild() && E->getTypeSourceInfo() == NewT)
12648 return getDerived().RebuildSYCLUniqueStableNameExpr(
12658 return getDerived().RebuildPredefinedExpr(E->getLocation(),
12668 = getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc());
12674 = cast_or_null<ValueDecl>(getDerived().TransformDecl(E->getLocation(),
12682 getDerived().TransformDecl(E->getLocation(), E->getFoundDecl()));
12689 NameInfo = getDerived().TransformDeclarationNameInfo(NameInfo);
12694 if (!getDerived().AlwaysRebuild() &&
12713 if (getDerived().TransformTemplateArguments(E->getTemplateArgs(),
12719 return getDerived().RebuildDeclRefExpr(QualifierLoc, ND, NameInfo,
12762 return getDerived().TransformCallExpr(E);
12771 ControllingExpr = getDerived().TransformExpr(E->getControllingExpr());
12773 ControllingType = getDerived().TransformType(E->getControllingType());
12783 TypeSourceInfo *AssocType = getDerived().TransformType(TSI);
12792 getDerived().TransformExpr(Assoc.getAssociationExpr());
12799 return getDerived().RebuildGenericSelectionExpr(E->getGenericLoc(),
12805 return getDerived().RebuildGenericSelectionExpr(
12813 ExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr());
12817 if (!getDerived().AlwaysRebuild() && SubExpr.get() == E->getSubExpr())
12820 return getDerived().RebuildParenExpr(SubExpr.get(), E->getLParen(),
12831 return getDerived().TransformDependentScopeDeclRefExpr(
12834 return getDerived().TransformUnresolvedLookupExpr(
12837 return getDerived().TransformExpr(E);
12851 if (!getDerived().AlwaysRebuild() && SubExpr.get() == E->getSubExpr())
12854 return getDerived().RebuildUnaryOperator(E->getOperatorLoc(),
12863 TypeSourceInfo *Type = getDerived().TransformType(E->getTypeSourceInfo());
12885 ExprResult Index = getDerived().TransformExpr(FromIndex);
12913 if (!getDerived().AlwaysRebuild() &&
12919 return getDerived().RebuildOffsetOfExpr(E->getOperatorLoc(), Type,
12926 assert((!E->getSourceExpr() || getDerived().AlreadyTransformed(E->getType())) &&
12942 ExprResult NewC = getDerived().TransformExpr(C);
12949 if (!getDerived().AlwaysRebuild() && !Changed)
12951 return getDerived().RebuildRecoveryExpr(E->getBeginLoc(), E->getEndLoc(),
12965 ExprResult result = getDerived().TransformExpr(newSyntacticForm);
12984 TypeSourceInfo *NewT = getDerived().TransformType(OldT);
12988 if (!getDerived().AlwaysRebuild() && OldT == NewT)
12991 return getDerived().RebuildUnaryExprOrTypeTrait(NewT, E->getOperatorLoc(),
13010 SubExpr = getDerived().TransformParenDependentScopeDeclRefExpr(
13013 SubExpr = getDerived().TransformExpr(E->getArgumentExpr());
13016 return getDerived().RebuildUnaryExprOrTypeTrait(
13021 if (!getDerived().AlwaysRebuild() && SubExpr.get() == E->getArgumentExpr())
13024 return getDerived().RebuildUnaryExprOrTypeTrait(SubExpr.get(),
13033 ExprResult LHS = getDerived().TransformExpr(E->getLHS());
13037 ExprResult RHS = getDerived().TransformExpr(E->getRHS());
13042 if (!getDerived().AlwaysRebuild() &&
13047 return getDerived().RebuildArraySubscriptExpr(
13055 ExprResult Base = getDerived().TransformExpr(E->getBase());
13059 ExprResult RowIdx = getDerived().TransformExpr(E->getRowIdx());
13063 ExprResult ColumnIdx = getDerived().TransformExpr(E->getColumnIdx());
13067 if (!getDerived().AlwaysRebuild() && Base.get() == E->getBase() &&
13071 return getDerived().RebuildMatrixSubscriptExpr(
13078 ExprResult Base = getDerived().TransformExpr(E->getBase());
13084 LowerBound = getDerived().TransformExpr(E->getLowerBound());
13091 Length = getDerived().TransformExpr(E->getLength());
13099 Stride = getDerived().TransformExpr(Str);
13105 if (!getDerived().AlwaysRebuild() && Base.get() == E->getBase() &&
13111 return getDerived().RebuildArraySectionExpr(
13121 ExprResult Base = getDerived().TransformExpr(E->getBase());
13128 ExprResult DimRes = getDerived().TransformExpr(Dim);
13138 return getDerived().RebuildOMPArrayShapingExpr(Base.get(), E->getLParenLoc(),
13150 bool NeedToRebuild = getDerived().AlwaysRebuild();
13159 TypeSourceInfo *TSI = getDerived().TransformType(D->getTypeSourceInfo());
13160 QualType DeclTy = getDerived().TransformType(D->getType());
13164 ExprResult Begin = getDerived().TransformExpr(Range.Begin);
13165 ExprResult End = getDerived().TransformExpr(Range.End);
13166 ExprResult Step = getDerived().TransformExpr(Range.Step);
13191 ExprResult Res = getDerived().RebuildOMPIteratorExpr(
13197 getDerived().transformedLocalDecl(E->getIteratorDecl(I),
13206 ExprResult Callee = getDerived().TransformExpr(E->getCallee());
13213 if (getDerived().TransformExprs(E->getArgs(), E->getNumArgs(), true, Args,
13217 if (!getDerived().AlwaysRebuild() &&
13234 return getDerived().RebuildCallExpr(Callee.get(), FakeLParenLoc,
13242 ExprResult Base = getDerived().TransformExpr(E->getBase());
13249 = getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc());
13257 = cast_or_null<ValueDecl>(getDerived().TransformDecl(E->getMemberLoc(),
13267 getDerived().TransformDecl(E->getMemberLoc(), FoundDecl));
13272 if (!getDerived().AlwaysRebuild() &&
13295 if (getDerived().TransformTemplateArguments(E->getTemplateArgs(),
13312 MemberNameInfo = getDerived().TransformDeclarationNameInfo(MemberNameInfo);
13317 return getDerived().RebuildMemberExpr(Base.get(), FakeOperatorLoc,
13332 ExprResult LHS = getDerived().TransformExpr(E->getLHS());
13337 getDerived().TransformInitializer(E->getRHS(), /*NotCopyInit=*/false);
13341 if (!getDerived().AlwaysRebuild() &&
13348 return getDerived().RebuildBinaryOperator(
13355 return getDerived().RebuildBinaryOperator(E->getOperatorLoc(), E->getOpcode(),
13364 ExprResult LHS = getDerived().TransformExpr(const_cast<Expr*>(Decomp.LHS));
13368 ExprResult RHS = getDerived().TransformExpr(const_cast<Expr*>(Decomp.RHS));
13388 NamedDecl *Found = cast_or_null<NamedDecl>(getDerived().TransformDecl(
13397 if (!getDerived().AlwaysRebuild() && !ChangedAnyLookups &&
13409 return getDerived().RebuildCXXRewrittenBinaryOperator(
13422 return getDerived().TransformBinaryOperator(E);
13431 ExprResult commonExpr = getDerived().TransformExpr(e->getCommon());
13435 ExprResult rhs = getDerived().TransformExpr(e->getFalseExpr());
13439 if (!getDerived().AlwaysRebuild() &&
13444 return getDerived().RebuildConditionalOperator(commonExpr.get(),
13454 ExprResult Cond = getDerived().TransformExpr(E->getCond());
13458 ExprResult LHS = getDerived().TransformExpr(E->getLHS());
13462 ExprResult RHS = getDerived().TransformExpr(E->getRHS());
13466 if (!getDerived().AlwaysRebuild() &&
13472 return getDerived().RebuildConditionalOperator(Cond.get(),
13484 return getDerived().TransformExpr(E->getSubExprAsWritten());
13490 TypeSourceInfo *Type = getDerived().TransformType(E->getTypeInfoAsWritten());
13495 = getDerived().TransformExpr(E->getSubExprAsWritten());
13499 if (!getDerived().AlwaysRebuild() &&
13504 return getDerived().RebuildCStyleCastExpr(E->getLParenLoc(),
13514 TypeSourceInfo *NewT = getDerived().TransformType(OldT);
13518 ExprResult Init = getDerived().TransformExpr(E->getInitializer());
13522 if (!getDerived().AlwaysRebuild() &&
13531 return getDerived().RebuildCompoundLiteralExpr(
13539 ExprResult Base = getDerived().TransformExpr(E->getBase());
13543 if (!getDerived().AlwaysRebuild() &&
13550 return getDerived().RebuildExtVectorElementExpr(
13567 if (getDerived().TransformExprs(E->getInits(), E->getNumInits(), false,
13571 if (!getDerived().AlwaysRebuild() && !InitChanged) {
13578 return getDerived().RebuildInitList(E->getLBraceLoc(), Inits,
13588 ExprResult Init = getDerived().TransformExpr(E->getInit());
13599 getDerived().TransformDecl(D.getFieldLoc(), D.getFieldDecl()));
13618 ExprResult Index = getDerived().TransformExpr(E->getArrayIndex(D));
13632 = getDerived().TransformExpr(E->getArrayRangeStart(D));
13636 ExprResult End = getDerived().TransformExpr(E->getArrayRangeEnd(D));
13650 if (!getDerived().AlwaysRebuild() &&
13655 return getDerived().RebuildDesignatedInitExpr(Desig, ArrayExprs,
13701 QualType T = getDerived().TransformType(E->getType());
13705 if (!getDerived().AlwaysRebuild() &&
13709 return getDerived().RebuildImplicitValueInitExpr(T);
13715 TypeSourceInfo *TInfo = getDerived().TransformType(E->getWrittenTypeInfo());
13719 ExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr());
13723 if (!getDerived().AlwaysRebuild() &&
13728 return getDerived().RebuildVAArgExpr(E->getBuiltinLoc(), SubExpr.get(),
13741 return getDerived().RebuildParenListExpr(E->getLParenLoc(),
13754 Decl *LD = getDerived().TransformDecl(E->getLabel()->getLocation(),
13759 return getDerived().RebuildAddrLabelExpr(E->getAmpAmpLoc(), E->getLabelLoc(),
13768 = getDerived().TransformCompoundStmt(E->getSubStmt(), true);
13775 unsigned NewDepth = getDerived().TransformTemplateDepth(OldDepth);
13777 if (!getDerived().AlwaysRebuild() && OldDepth == NewDepth &&
13784 return getDerived().RebuildStmtExpr(E->getLParenLoc(), SubStmt.get(),
13791 ExprResult Cond = getDerived().TransformExpr(E->getCond());
13795 ExprResult LHS = getDerived().TransformExpr(E->getLHS());
13799 ExprResult RHS = getDerived().TransformExpr(E->getRHS());
13803 if (!getDerived().AlwaysRebuild() &&
13809 return getDerived().RebuildChooseExpr(E->getBuiltinLoc(),
13836 ExprResult Object = getDerived().TransformExpr(E->getArg(0));
13846 if (getDerived().TransformExprs(E->getArgs() + 1, E->getNumArgs() - 1, true,
13851 return getDerived().RebuildCxxSubscriptExpr(Object.get(), FakeLParenLoc,
13854 return getDerived().RebuildCallExpr(Object.get(), FakeLParenLoc, Args,
13875 First = getDerived().TransformAddressOfOperand(E->getArg(0));
13877 First = getDerived().TransformExpr(E->getArg(0));
13884 getDerived().TransformInitializer(E->getArg(1), /*NotCopyInit=*/false);
13899 if (getDerived().TransformOverloadExprDecls(ULE, ULE->requiresADL(), R))
13902 return getDerived().RebuildCXXOperatorCallExpr(
13912 getDerived().TransformDecl(DR->getLocation(), DR));
13919 return getDerived().RebuildCXXOperatorCallExpr(
13927 return getDerived().TransformCallExpr(E);
13935 if (!getDerived().AlwaysRebuild() && !NeedRebuildFunc)
13938 return getDerived().RebuildSourceLocExpr(E->getIdentKind(), E->getType(),
13952 ExprResult Callee = getDerived().TransformExpr(E->getCallee());
13957 ExprResult EC = getDerived().TransformCallExpr(E->getConfig());
13964 if (getDerived().TransformExprs(E->getArgs(), E->getNumArgs(), true, Args,
13968 if (!getDerived().AlwaysRebuild() &&
13976 return getDerived().RebuildCallExpr(Callee.get(), FakeLParenLoc,
13984 TypeSourceInfo *Type = getDerived().TransformType(E->getTypeInfoAsWritten());
13989 = getDerived().TransformExpr(E->getSubExprAsWritten());
13993 if (!getDerived().AlwaysRebuild() &&
13997 return getDerived().RebuildCXXNamedCastExpr(
14008 getDerived().TransformType(BCE->getTypeInfoAsWritten());
14012 ExprResult Sub = getDerived().TransformExpr(BCE->getSubExpr());
14016 return getDerived().RebuildBuiltinBitCastExpr(BCE->getBeginLoc(), TSI,
14023 return getDerived().TransformCXXNamedCastExpr(E);
14029 return getDerived().TransformCXXNamedCastExpr(E);
14036 return getDerived().TransformCXXNamedCastExpr(E);
14042 return getDerived().TransformCXXNamedCastExpr(E);
14048 return getDerived().TransformCXXNamedCastExpr(E);
14056 getDerived().TransformTypeWithDeducedTST(E->getTypeInfoAsWritten());
14061 = getDerived().TransformExpr(E->getSubExprAsWritten());
14065 if (!getDerived().AlwaysRebuild() &&
14070 return getDerived().RebuildCXXFunctionalCastExpr(Type,
14082 = getDerived().TransformType(E->getTypeOperandSourceInfo());
14086 if (!getDerived().AlwaysRebuild() &&
14090 return getDerived().RebuildCXXTypeidExpr(E->getType(), E->getBeginLoc(),
14107 ExprResult SubExpr = getDerived().TransformExpr(Op);
14111 if (!getDerived().AlwaysRebuild() &&
14115 return getDerived().RebuildCXXTypeidExpr(E->getType(), E->getBeginLoc(),
14124 = getDerived().TransformType(E->getTypeOperandSourceInfo());
14128 if (!getDerived().AlwaysRebuild() &&
14132 return getDerived().RebuildCXXUuidofExpr(E->getType(), E->getBeginLoc(),
14139 ExprResult SubExpr = getDerived().TransformExpr(E->getExprOperand());
14143 if (!getDerived().AlwaysRebuild() &&
14147 return getDerived().RebuildCXXUuidofExpr(E->getType(), E->getBeginLoc(),
14182 return getDerived().TransformType(E->getType());
14186 if (!getDerived().AlwaysRebuild() && T == E->getType()) {
14193 return getDerived().RebuildCXXThisExpr(E->getBeginLoc(), T, E->isImplicit());
14199 ExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr());
14203 if (!getDerived().AlwaysRebuild() &&
14207 return getDerived().RebuildCXXThrowExpr(E->getThrowLoc(), SubExpr.get(),
14215 getDerived().TransformDecl(E->getBeginLoc(), E->getParam()));
14221 InitRes = getDerived().TransformExpr(E->getRewrittenExpr());
14226 if (!getDerived().AlwaysRebuild() && Param == E->getParam() &&
14231 return getDerived().RebuildCXXDefaultArgExpr(E->getUsedLocation(), Param,
14239 getDerived().TransformDecl(E->getBeginLoc(), E->getField()));
14243 if (!getDerived().AlwaysRebuild() && Field == E->getField() &&
14247 return getDerived().RebuildCXXDefaultInitExpr(E->getExprLoc(), Field);
14254 TypeSourceInfo *T = getDerived().TransformType(E->getTypeSourceInfo());
14258 if (!getDerived().AlwaysRebuild() &&
14262 return getDerived().RebuildCXXScalarValueInitExpr(T,
14272 getDerived().TransformTypeWithDeducedTST(E->getAllocatedTypeSourceInfo());
14281 NewArraySize = getDerived().TransformExpr(*OldArraySize);
14291 if (getDerived().TransformExprs(E->getPlacementArgs(),
14300 NewInit = getDerived().TransformInitializer(OldInit, true);
14308 getDerived().TransformDecl(E->getBeginLoc(), E->getOperatorNew()));
14316 getDerived().TransformDecl(E->getBeginLoc(), E->getOperatorDelete()));
14321 if (!getDerived().AlwaysRebuild() &&
14374 return getDerived().RebuildCXXNewExpr(
14384 ExprResult Operand = getDerived().TransformExpr(E->getArgument());
14392 getDerived().TransformDecl(E->getBeginLoc(), E->getOperatorDelete()));
14397 if (!getDerived().AlwaysRebuild() &&
14418 return getDerived().RebuildCXXDeleteExpr(
14426 ExprResult Base = getDerived().TransformExpr(E->getBase());
14444 = getDerived().TransformNestedNameSpecifierLoc(QualifierLoc, ObjectType);
14454 = getDerived().TransformTypeInObjectScope(E->getDestroyedTypeInfo(),
14480 ScopeTypeInfo = getDerived().TransformTypeInObjectScope(
14486 return getDerived().RebuildCXXPseudoDestructorExpr(Base.get(),
14503 Decl *InstD = getDerived().TransformDecl(Old->getNameLoc(), OldD);
14593 = getDerived().TransformNestedNameSpecifierLoc(Old->getQualifierLoc());
14602 = cast_or_null<CXXRecordDecl>(getDerived().TransformDecl(
14617 getDerived().TransformTemplateArguments(Old->getTemplateArgs(),
14638 return getDerived().RebuildDeclarationNameExpr(SS, R, Old->requiresADL());
14641 return getDerived().RebuildTemplateIdExpr(SS, TemplateKWLoc, R,
14656 QualType To = getDerived().TransformType(TLB, FromTL);
14684 if (getDerived().TryExpandParameterPacks(ExpansionTL.getEllipsisLoc(),
14700 QualType To = getDerived().TransformType(TLB, PatternTL);
14704 To = getDerived().RebuildPackExpansionType(To,
14724 QualType To = getDerived().TransformType(TLB, PatternTL);
14729 To = getDerived().RebuildPackExpansionType(To,
14749 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
14754 QualType To = getDerived().TransformType(TLB, PatternTL);
14758 To = getDerived().RebuildPackExpansionType(To,
14771 if (!getDerived().AlwaysRebuild() && !ArgChanged)
14774 return getDerived().RebuildTypeTrait(E->getTrait(), E->getBeginLoc(), Args,
14784 if (getDerived().TransformTemplateArguments(Old->getTemplateArgs(),
14788 return getDerived().RebuildConceptSpecializationExpr(
14813 ExprResult TypeParamResult = getDerived().TransformRequiresTypeParams(
14829 if (getDerived().TransformRequiresExprRequirements(E->getRequirements(),
14843 return getDerived().RebuildRequiresExpr(
14855 TransReq = getDerived().TransformTypeRequirement(TypeReq);
14857 TransReq = getDerived().TransformExprRequirement(ExprReq);
14859 TransReq = getDerived().TransformNestedRequirement(
14873 if (getDerived().AlwaysRebuild())
14874 return getDerived().RebuildTypeRequirement(
14878 TypeSourceInfo *TransType = getDerived().TransformType(Req->getType());
14881 return getDerived().RebuildTypeRequirement(TransType);
14891 ExprResult TransExprRes = getDerived().TransformExpr(Req->getExpr());
14909 getDerived().TransformTemplateParameterList(OrigTPL);
14916 return getDerived().RebuildExprRequirement(E, Req->isSimple(),
14919 return getDerived().RebuildExprRequirement(
14929 if (getDerived().AlwaysRebuild())
14930 return getDerived().RebuildNestedRequirement(
14935 getDerived().TransformExpr(Req->getConstraintExpr());
14938 return getDerived().RebuildNestedRequirement(TransConstraint.get());
14944 TypeSourceInfo *T = getDerived().TransformType(E->getQueriedTypeSourceInfo());
14948 if (!getDerived().AlwaysRebuild() &&
14956 SubExpr = getDerived().TransformExpr(E->getDimensionExpression());
14961 return getDerived().RebuildArrayTypeTrait(E->getTrait(), E->getBeginLoc(), T,
14972 SubExpr = getDerived().TransformExpr(E->getQueriedExpression());
14976 if (!getDerived().AlwaysRebuild() && SubExpr.get() == E->getQueriedExpression())
14980 return getDerived().RebuildExpressionTrait(E->getTrait(), E->getBeginLoc(),
14988 ExprResult NewDRE = getDerived().TransformDependentScopeDeclRefExpr(
14996 if (!getDerived().AlwaysRebuild() && NewDRE.get() == DRE)
14998 return getDerived().RebuildParenExpr(NewDRE.get(), PE->getLParen(),
15015 getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc());
15025 getDerived().TransformDeclarationNameInfo(E->getNameInfo());
15030 if (!getDerived().AlwaysRebuild() && QualifierLoc == E->getQualifierLoc() &&
15036 return getDerived().RebuildDependentScopeDeclRefExpr(
15042 if (getDerived().TransformTemplateArguments(
15046 return getDerived().RebuildDependentScopeDeclRefExpr(
15057 if (getDerived().AllowSkippingCXXConstructExpr() &&
15059 (E->getNumArgs() > 1 && getDerived().DropCallArgument(E->getArg(1)))) &&
15060 (!getDerived().DropCallArgument(E->getArg(0))) &&
15062 return getDerived().TransformInitializer(E->getArg(0),
15067 QualType T = getDerived().TransformType(E->getType());
15072 getDerived().TransformDecl(E->getBeginLoc(), E->getConstructor()));
15082 if (getDerived().TransformExprs(E->getArgs(), E->getNumArgs(), true, Args,
15087 if (!getDerived().AlwaysRebuild() &&
15097 return getDerived().RebuildCXXConstructExpr(
15107 QualType T = getDerived().TransformType(E->getType());
15112 getDerived().TransformDecl(E->getBeginLoc(), E->getConstructor()));
15116 if (!getDerived().AlwaysRebuild() &&
15125 return getDerived().RebuildCXXInheritedCtorInitExpr(
15140 return getDerived().TransformExpr(E->getSubExpr());
15151 return getDerived().TransformExpr(E->getSubExpr());
15159 getDerived().TransformTypeWithDeducedTST(E->getTypeSourceInfo());
15164 getDerived().TransformDecl(E->getBeginLoc(), E->getConstructor()));
15187 if (!getDerived().AlwaysRebuild() &&
15197 return getDerived().RebuildCXXTemporaryObjectExpr(
15226 ExprResult NewExprInitResult = getDerived().TransformInitializer(
15261 if (getDerived().TryExpandParameterPacks(
15323 getDerived().transformedLocalDecl(OldClass, {Class});
15406 getDerived().transformedLocalDecl(OldVD, NewVDs);
15424 if (getDerived().TryExpandParameterPacks(C->getEllipsisLoc(),
15441 getDerived().TransformDecl(C->getLocation(), Pack));
15461 getDerived().TransformDecl(C->getLocation(), C->getCapturedVar()));
15480 auto TPL = getDerived().TransformTemplateParameterList(
15494 getDerived().TransformType(NewCallOpTLBuilder, OldCallOpTypeLoc);
15515 getDerived().transformAttrs(E->getCallOperator(), NewCallOperator);
15516 getDerived().transformedLocalDecl(E->getCallOperator(), {NewCallOperator});
15523 if (getDerived().ReplacingOriginal()) {
15547 Invalid ? StmtError() : getDerived().TransformLambdaBody(E, E->getBody());
15602 DependencyKind = getDerived().ComputeLambdaDependency(&LSICopy);
15609 return getDerived().RebuildLambdaExpr(E->getBeginLoc(),
15648 getDerived().TransformDecl(C->getLocation(), C->getCapturedVar()));
15664 getDerived().TransformTypeWithDeducedTST(E->getTypeSourceInfo());
15675 if (getDerived().TransformExprs(E->arg_begin(), E->getNumArgs(), true, Args,
15680 if (!getDerived().AlwaysRebuild() &&
15686 return getDerived().RebuildCXXUnresolvedConstructExpr(
15701 Base = getDerived().TransformExpr(OldBase);
15720 BaseType = getDerived().TransformType(E->getBaseType());
15727 = getDerived().TransformFirstQualifierInScope(
15734 = getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc(),
15748 = getDerived().TransformDeclarationNameInfo(E->getMemberNameInfo());
15755 if (!getDerived().AlwaysRebuild() &&
15763 return getDerived().RebuildCXXDependentScopeMemberExpr(Base.get(),
15775 if (getDerived().TransformTemplateArguments(E->getTemplateArgs(),
15780 return getDerived().RebuildCXXDependentScopeMemberExpr(Base.get(),
15798 Base = getDerived().TransformExpr(Old->getBase());
15807 BaseType = getDerived().TransformType(Old->getBaseType());
15813 getDerived().TransformNestedNameSpecifierLoc(Old->getQualifierLoc());
15829 getDerived().TransformDecl(Old->getMemberLoc(), Old->getNamingClass()));
15840 if (getDerived().TransformTemplateArguments(
15851 return getDerived().RebuildUnresolvedMemberExpr(
15862 ExprResult SubExpr = getDerived().TransformExpr(E->getOperand());
15866 if (!getDerived().AlwaysRebuild() && SubExpr.get() == E->getOperand())
15869 return getDerived().RebuildCXXNoexceptExpr(E->getSourceRange(),SubExpr.get());
15875 ExprResult Pattern = getDerived().TransformExpr(E->getPattern());
15879 if (!getDerived().AlwaysRebuild() && Pattern.get() == E->getPattern())
15882 return getDerived().RebuildPackExpansion(Pattern.get(), E->getEllipsisLoc(),
15908 if (getDerived().TryExpandParameterPacks(E->getOperatorLoc(), E->getPackLoc(),
15942 getDerived().TransformDecl(E->getPackLoc(), E->getPack()));
15945 return getDerived().RebuildSizeOfPackExpr(
15971 if (getDerived().TransformTemplateArgument(Pattern, OutPattern,
15991 return getDerived().RebuildSizeOfPackExpr(E->getOperatorLoc(), E->getPack(),
16018 return getDerived().RebuildSizeOfPackExpr(
16022 return getDerived().RebuildSizeOfPackExpr(E->getOperatorLoc(), E->getPack(),
16038 IndexExpr = getDerived().TransformExpr(E->getIndexExpr());
16058 if (getDerived().TryExpandParameterPacks(
16064 ExprResult Pack = getDerived().TransformExpr(Pattern);
16067 return getDerived().RebuildPackIndexingExpr(
16073 ExprResult Out = getDerived().TransformExpr(Pattern);
16077 Out = getDerived().RebuildPackExpansion(Out.get(), E->getEllipsisLoc(),
16088 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
16090 ExprResult Out = getDerived().TransformExpr(Pattern);
16094 Out = getDerived().RebuildPackExpansion(Out.get(), E->getEllipsisLoc(),
16102 if (getDerived().TransformExprs(E->getExpressions().data(),
16108 return getDerived().RebuildPackIndexingExpr(
16158 return getDerived().TransformExpr(E->getSubExpr());
16166 ExprResult CalleeResult = getDerived().TransformExpr(OldCallee);
16184 if (getDerived().TryExpandParameterPacks(E->getEllipsisLoc(),
16197 E->getLHS() ? getDerived().TransformExpr(E->getLHS()) : ExprResult();
16202 E->getRHS() ? getDerived().TransformExpr(E->getRHS()) : ExprResult();
16206 if (!getDerived().AlwaysRebuild() &&
16210 return getDerived().RebuildCXXFoldExpr(
16229 ExprResult Result = getDerived().TransformExpr(E->getInit());
16237 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
16239 ExprResult Out = getDerived().TransformExpr(Pattern);
16243 Result = getDerived().RebuildCXXFoldExpr(
16253 ExprResult Out = getDerived().TransformExpr(Pattern);
16259 Result = getDerived().RebuildCXXFoldExpr(
16271 Result = getDerived().RebuildCXXOperatorCallExpr(
16276 Result = getDerived().RebuildBinaryOperator(E->getEllipsisLoc(),
16289 ForgetPartiallySubstitutedPackRAII Forget(getDerived());
16291 ExprResult Out = getDerived().TransformExpr(Pattern);
16295 Result = getDerived().RebuildCXXFoldExpr(
16308 return getDerived().RebuildEmptyCXXFoldExpr(E->getEllipsisLoc(),
16322 return getDerived().RebuildParenListExpr(E->getBeginLoc(), TransformedInits,
16330 return getDerived().TransformExpr(E->getSubExpr());
16348 ExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr());
16352 if (!getDerived().AlwaysRebuild() &&
16356 return getDerived().RebuildObjCBoxedExpr(E->getSourceRange(), SubExpr.get());
16365 if (getDerived().TransformExprs(E->getElements(), E->getNumElements(),
16369 if (!getDerived().AlwaysRebuild() && !ArgChanged)
16372 return getDerived().RebuildObjCArrayLiteral(E->getSourceRange(),
16402 if (getDerived().TryExpandParameterPacks(OrigElement.EllipsisLoc,
16412 ExprResult Key = getDerived().TransformExpr(OrigElement.Key);
16419 ExprResult Value = getDerived().TransformExpr(OrigElement.Value);
16441 ExprResult Key = getDerived().TransformExpr(OrigElement.Key);
16445 ExprResult Value = getDerived().TransformExpr(OrigElement.Value);
16470 ExprResult Key = getDerived().TransformExpr(OrigElement.Key);
16479 = getDerived().TransformExpr(OrigElement.Value);
16491 if (!getDerived().AlwaysRebuild() && !ArgChanged)
16494 return getDerived().RebuildObjCDictionaryLiteral(E->getSourceRange(),
16502 = getDerived().TransformType(E->getEncodedTypeSourceInfo());
16506 if (!getDerived().AlwaysRebuild() &&
16510 return getDerived().RebuildObjCEncodeExpr(E->getAtLoc(),
16522 return getDerived().TransformExpr(E->getSubExpr());
16529 = getDerived().TransformType(E->getTypeInfoAsWritten());
16533 ExprResult Result = getDerived().TransformExpr(E->getSubExpr());
16537 if (!getDerived().AlwaysRebuild() &&
16560 if (getDerived().TransformExprs(E->getArgs(), E->getNumArgs(), false, Args,
16567 = getDerived().TransformType(E->getClassReceiverTypeInfo());
16572 if (!getDerived().AlwaysRebuild() &&
16579 return getDerived().RebuildObjCMessageExpr(ReceiverTypeInfo,
16595 return getDerived().RebuildObjCMessageExpr(E->getSuperLoc(),
16609 = getDerived().TransformExpr(E->getInstanceReceiver());
16614 if (!getDerived().AlwaysRebuild() &&
16621 return getDerived().RebuildObjCMessageExpr(Receiver.get(),
16646 ExprResult Base = getDerived().TransformExpr(E->getBase());
16653 if (!getDerived().AlwaysRebuild() &&
16657 return getDerived().RebuildObjCIvarRefExpr(Base.get(), E->getDecl(),
16671 ExprResult Base = getDerived().TransformExpr(E->getBase());
16678 if (!getDerived().AlwaysRebuild() &&
16683 return getDerived().RebuildObjCPropertyRefExpr(Base.get(),
16687 return getDerived().RebuildObjCPropertyRefExpr(Base.get(),
16698 ExprResult Base = getDerived().TransformExpr(E->getBaseExpr());
16703 ExprResult Key = getDerived().TransformExpr(E->getKeyExpr());
16708 if (!getDerived().AlwaysRebuild() &&
16712 return getDerived().RebuildObjCSubscriptRefExpr(E->getRBracket(),
16722 ExprResult Base = getDerived().TransformExpr(E->getBase());
16727 if (!getDerived().AlwaysRebuild() &&
16731 return getDerived().RebuildObjCIsaExpr(Base.get(), E->getIsaMemberLoc(),
16742 if (getDerived().TransformExprs(E->getSubExprs(), E->getNumSubExprs(), false,
16746 if (!getDerived().AlwaysRebuild() &&
16750 return getDerived().RebuildShuffleVectorExpr(E->getBuiltinLoc(),
16758 ExprResult SrcExpr = getDerived().TransformExpr(E->getSrcExpr());
16762 TypeSourceInfo *Type = getDerived().TransformType(E->getTypeSourceInfo());
16766 if (!getDerived().AlwaysRebuild() &&
16771 return getDerived().RebuildConvertVectorExpr(E->getBuiltinLoc(),
16795 if (getDerived().TransformFunctionTypeParams(
16804 getDerived().TransformType(exprFunctionType->getReturnType());
16810 getDerived().RebuildFunctionProtoType(exprResultType, paramTypes, epi);
16823 StmtResult body = getDerived().TransformStmt(E->getBody());
16841 cast<VarDecl>(getDerived().TransformDecl(E->getCaretLocation(),
16861 ExprResult SrcExpr = getDerived().TransformExpr(E->getSrcExpr());
16865 QualType Type = getDerived().TransformType(E->getType());
16877 if (getDerived().TransformExprs(E->getSubExprs(), E->getNumSubExprs(), false,
16881 if (!getDerived().AlwaysRebuild() &&
16885 return getDerived().RebuildAtomicExpr(E->getBuiltinLoc(), SubExprs,
16897 getDerived().getBaseEntity());
16904 getDerived().getBaseEntity());
16913 Sigil, getDerived().getBaseEntity());
16922 getDerived().getBaseEntity());
16969 getDerived().getBaseEntity());
16990 getDerived().getBaseEntity());
16997 return getDerived().RebuildArrayType(ElementType, SizeMod, &Size, SizeExpr,
17005 return getDerived().RebuildArrayType(ElementType, SizeMod, nullptr, nullptr,
17013 return getDerived().RebuildArrayType(ElementType, SizeMod, nullptr,
17022 return getDerived().RebuildArrayType(ElementType, SizeMod, nullptr,
17089 getDerived().getBaseLocation(),
17090 getDerived().getBaseEntity(),
17421 getDerived().TransformType(CD->getParam(I)->getType())));
17431 Body = getDerived().TransformStmt(S->getCapturedStmt());
17456 return getDerived().TransformExpr(E->getArgLValue());