From: John McCall Date: Tue, 8 Dec 2009 09:21:05 +0000 (+0000) Subject: The refactor of implicit member access expressions means we don't need this X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=454feb9da67504b475d032ca2a9fc34c5744748e;p=clang The refactor of implicit member access expressions means we don't need this horrible isAddressOfOperand hack in TreeTransform, since that syntactic information is managed by the initial parser callbacks now. That's enough insomniac commits for one night. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90849 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaTemplateInstantiate.cpp b/lib/Sema/SemaTemplateInstantiate.cpp index 93df9cab02..dddb93c87e 100644 --- a/lib/Sema/SemaTemplateInstantiate.cpp +++ b/lib/Sema/SemaTemplateInstantiate.cpp @@ -552,13 +552,10 @@ namespace { /// elaborated type. QualType RebuildElaboratedType(QualType T, ElaboratedType::TagKind Tag); - Sema::OwningExprResult TransformPredefinedExpr(PredefinedExpr *E, - bool isAddressOfOperand); - Sema::OwningExprResult TransformDeclRefExpr(DeclRefExpr *E, - bool isAddressOfOperand); + Sema::OwningExprResult TransformPredefinedExpr(PredefinedExpr *E); + Sema::OwningExprResult TransformDeclRefExpr(DeclRefExpr *E); - Sema::OwningExprResult TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E, - bool isAddressOfOperand); + Sema::OwningExprResult TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E); /// \brief Transforms a template type parameter type by performing /// substitution of the corresponding template type argument. @@ -670,8 +667,7 @@ TemplateInstantiator::RebuildElaboratedType(QualType T, } Sema::OwningExprResult -TemplateInstantiator::TransformPredefinedExpr(PredefinedExpr *E, - bool isAddressOfOperand) { +TemplateInstantiator::TransformPredefinedExpr(PredefinedExpr *E) { if (!E->isTypeDependent()) return SemaRef.Owned(E->Retain()); @@ -694,8 +690,7 @@ TemplateInstantiator::TransformPredefinedExpr(PredefinedExpr *E, } Sema::OwningExprResult -TemplateInstantiator::TransformDeclRefExpr(DeclRefExpr *E, - bool isAddressOfOperand) { +TemplateInstantiator::TransformDeclRefExpr(DeclRefExpr *E) { // FIXME: Clean this up a bit NamedDecl *D = E->getDecl(); if (NonTypeTemplateParmDecl *NTTP = dyn_cast(D)) { @@ -782,12 +777,11 @@ TemplateInstantiator::TransformDeclRefExpr(DeclRefExpr *E, // FindInstantiatedDecl will find it in the local instantiation scope. } - return TreeTransform:: - TransformDeclRefExpr(E, isAddressOfOperand); + return TreeTransform::TransformDeclRefExpr(E); } Sema::OwningExprResult TemplateInstantiator::TransformCXXDefaultArgExpr( - CXXDefaultArgExpr *E, bool isAddressOfOperand) { + CXXDefaultArgExpr *E) { assert(!cast(E->getParam()->getDeclContext())-> getDescribedFunctionTemplate() && "Default arg expressions are never formed in dependent cases."); diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index 155e2e4a7d..73ca797ce9 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -218,19 +218,7 @@ public: /// other mechanism. /// /// \returns the transformed expression. - OwningExprResult TransformExpr(Expr *E) { - return getDerived().TransformExpr(E, /*isAddressOfOperand=*/false); - } - - /// \brief Transform the given expression. - /// - /// By default, this routine transforms an expression by delegating to the - /// appropriate TransformXXXExpr function to build a new expression. - /// Subclasses may override this function to transform expressions using some - /// other mechanism. - /// - /// \returns the transformed expression. - OwningExprResult TransformExpr(Expr *E, bool isAddressOfOperand); + OwningExprResult TransformExpr(Expr *E); /// \brief Transform the given declaration, which is referenced from a type /// or expression. @@ -328,7 +316,7 @@ public: #define STMT(Node, Parent) \ OwningStmtResult Transform##Node(Node *S); #define EXPR(Node, Parent) \ - OwningExprResult Transform##Node(Node *E, bool isAddressOfOperand); + OwningExprResult Transform##Node(Node *E); #define ABSTRACT_EXPR(Node, Parent) #include "clang/AST/StmtNodes.def" @@ -1675,8 +1663,7 @@ Sema::OwningStmtResult TreeTransform::TransformStmt(Stmt *S) { template -Sema::OwningExprResult TreeTransform::TransformExpr(Expr *E, - bool isAddressOfOperand) { +Sema::OwningExprResult TreeTransform::TransformExpr(Expr *E) { if (!E) return SemaRef.Owned(E); @@ -1684,8 +1671,7 @@ Sema::OwningExprResult TreeTransform::TransformExpr(Expr *E, case Stmt::NoStmtClass: break; #define STMT(Node, Parent) case Stmt::Node##Class: break; #define EXPR(Node, Parent) \ - case Stmt::Node##Class: return getDerived().Transform##Node(cast(E), \ - isAddressOfOperand); + case Stmt::Node##Class: return getDerived().Transform##Node(cast(E)); #include "clang/AST/StmtNodes.def" } @@ -3468,15 +3454,13 @@ TreeTransform::TransformCXXTryStmt(CXXTryStmt *S) { //===----------------------------------------------------------------------===// template Sema::OwningExprResult -TreeTransform::TransformPredefinedExpr(PredefinedExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformPredefinedExpr(PredefinedExpr *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformDeclRefExpr(DeclRefExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformDeclRefExpr(DeclRefExpr *E) { NestedNameSpecifier *Qualifier = 0; if (E->getQualifier()) { Qualifier = getDerived().TransformNestedNameSpecifier(E->getQualifier(), @@ -3521,43 +3505,37 @@ TreeTransform::TransformDeclRefExpr(DeclRefExpr *E, template Sema::OwningExprResult -TreeTransform::TransformIntegerLiteral(IntegerLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformIntegerLiteral(IntegerLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformFloatingLiteral(FloatingLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformFloatingLiteral(FloatingLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformImaginaryLiteral(ImaginaryLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformImaginaryLiteral(ImaginaryLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformStringLiteral(StringLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformStringLiteral(StringLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformCharacterLiteral(CharacterLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformCharacterLiteral(CharacterLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformParenExpr(ParenExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformParenExpr(ParenExpr *E) { OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr()); if (SubExpr.isInvalid()) return SemaRef.ExprError(); @@ -3571,10 +3549,8 @@ TreeTransform::TransformParenExpr(ParenExpr *E, template Sema::OwningExprResult -TreeTransform::TransformUnaryOperator(UnaryOperator *E, - bool isAddressOfOperand) { - OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr(), - E->getOpcode() == UnaryOperator::AddrOf); +TreeTransform::TransformUnaryOperator(UnaryOperator *E) { + OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr()); if (SubExpr.isInvalid()) return SemaRef.ExprError(); @@ -3588,8 +3564,7 @@ TreeTransform::TransformUnaryOperator(UnaryOperator *E, template Sema::OwningExprResult -TreeTransform::TransformSizeOfAlignOfExpr(SizeOfAlignOfExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformSizeOfAlignOfExpr(SizeOfAlignOfExpr *E) { if (E->isArgumentType()) { TypeSourceInfo *OldT = E->getArgumentTypeInfo(); @@ -3627,8 +3602,7 @@ TreeTransform::TransformSizeOfAlignOfExpr(SizeOfAlignOfExpr *E, template Sema::OwningExprResult -TreeTransform::TransformArraySubscriptExpr(ArraySubscriptExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformArraySubscriptExpr(ArraySubscriptExpr *E) { OwningExprResult LHS = getDerived().TransformExpr(E->getLHS()); if (LHS.isInvalid()) return SemaRef.ExprError(); @@ -3651,8 +3625,7 @@ TreeTransform::TransformArraySubscriptExpr(ArraySubscriptExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCallExpr(CallExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCallExpr(CallExpr *E) { // Transform the callee. OwningExprResult Callee = getDerived().TransformExpr(E->getCallee()); if (Callee.isInvalid()) @@ -3691,8 +3664,7 @@ TreeTransform::TransformCallExpr(CallExpr *E, template Sema::OwningExprResult -TreeTransform::TransformMemberExpr(MemberExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformMemberExpr(MemberExpr *E) { OwningExprResult Base = getDerived().TransformExpr(E->getBase()); if (Base.isInvalid()) return SemaRef.ExprError(); @@ -3747,16 +3719,14 @@ TreeTransform::TransformMemberExpr(MemberExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCastExpr(CastExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCastExpr(CastExpr *E) { assert(false && "Cannot transform abstract class"); return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformBinaryOperator(BinaryOperator *E, - bool isAddressOfOperand) { +TreeTransform::TransformBinaryOperator(BinaryOperator *E) { OwningExprResult LHS = getDerived().TransformExpr(E->getLHS()); if (LHS.isInvalid()) return SemaRef.ExprError(); @@ -3777,15 +3747,13 @@ TreeTransform::TransformBinaryOperator(BinaryOperator *E, template Sema::OwningExprResult TreeTransform::TransformCompoundAssignOperator( - CompoundAssignOperator *E, - bool isAddressOfOperand) { - return getDerived().TransformBinaryOperator(E, isAddressOfOperand); + CompoundAssignOperator *E) { + return getDerived().TransformBinaryOperator(E); } template Sema::OwningExprResult -TreeTransform::TransformConditionalOperator(ConditionalOperator *E, - bool isAddressOfOperand) { +TreeTransform::TransformConditionalOperator(ConditionalOperator *E) { OwningExprResult Cond = getDerived().TransformExpr(E->getCond()); if (Cond.isInvalid()) return SemaRef.ExprError(); @@ -3813,8 +3781,7 @@ TreeTransform::TransformConditionalOperator(ConditionalOperator *E, template Sema::OwningExprResult -TreeTransform::TransformImplicitCastExpr(ImplicitCastExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformImplicitCastExpr(ImplicitCastExpr *E) { TemporaryBase Rebase(*this, E->getLocStart(), DeclarationName()); // FIXME: Will we ever have type information here? It seems like we won't, @@ -3839,16 +3806,14 @@ TreeTransform::TransformImplicitCastExpr(ImplicitCastExpr *E, template Sema::OwningExprResult -TreeTransform::TransformExplicitCastExpr(ExplicitCastExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformExplicitCastExpr(ExplicitCastExpr *E) { assert(false && "Cannot transform abstract class"); return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformCStyleCastExpr(CStyleCastExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCStyleCastExpr(CStyleCastExpr *E) { QualType T; { // FIXME: Source location isn't quite accurate. @@ -3877,8 +3842,7 @@ TreeTransform::TransformCStyleCastExpr(CStyleCastExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCompoundLiteralExpr(CompoundLiteralExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCompoundLiteralExpr(CompoundLiteralExpr *E) { QualType T; { // FIXME: Source location isn't quite accurate. @@ -3907,8 +3871,7 @@ TreeTransform::TransformCompoundLiteralExpr(CompoundLiteralExpr *E, template Sema::OwningExprResult -TreeTransform::TransformExtVectorElementExpr(ExtVectorElementExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformExtVectorElementExpr(ExtVectorElementExpr *E) { OwningExprResult Base = getDerived().TransformExpr(E->getBase()); if (Base.isInvalid()) return SemaRef.ExprError(); @@ -3927,8 +3890,7 @@ TreeTransform::TransformExtVectorElementExpr(ExtVectorElementExpr *E, template Sema::OwningExprResult -TreeTransform::TransformInitListExpr(InitListExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformInitListExpr(InitListExpr *E) { bool InitChanged = false; ASTOwningVector<&ActionBase::DeleteExpr, 4> Inits(SemaRef); @@ -3950,8 +3912,7 @@ TreeTransform::TransformInitListExpr(InitListExpr *E, template Sema::OwningExprResult -TreeTransform::TransformDesignatedInitExpr(DesignatedInitExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformDesignatedInitExpr(DesignatedInitExpr *E) { Designation Desig; // transform the initializer value @@ -4020,8 +3981,7 @@ TreeTransform::TransformDesignatedInitExpr(DesignatedInitExpr *E, template Sema::OwningExprResult TreeTransform::TransformImplicitValueInitExpr( - ImplicitValueInitExpr *E, - bool isAddressOfOperand) { + ImplicitValueInitExpr *E) { TemporaryBase Rebase(*this, E->getLocStart(), DeclarationName()); // FIXME: Will we ever have proper type location here? Will we actually @@ -4039,8 +3999,7 @@ TreeTransform::TransformImplicitValueInitExpr( template Sema::OwningExprResult -TreeTransform::TransformVAArgExpr(VAArgExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformVAArgExpr(VAArgExpr *E) { // FIXME: Do we want the type as written? QualType T; @@ -4067,8 +4026,7 @@ TreeTransform::TransformVAArgExpr(VAArgExpr *E, template Sema::OwningExprResult -TreeTransform::TransformParenListExpr(ParenListExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformParenListExpr(ParenListExpr *E) { bool ArgumentChanged = false; ASTOwningVector<&ActionBase::DeleteExpr, 4> Inits(SemaRef); for (unsigned I = 0, N = E->getNumExprs(); I != N; ++I) { @@ -4092,16 +4050,14 @@ TreeTransform::TransformParenListExpr(ParenListExpr *E, /// the corresponding label statement by semantic analysis. template Sema::OwningExprResult -TreeTransform::TransformAddrLabelExpr(AddrLabelExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformAddrLabelExpr(AddrLabelExpr *E) { return getDerived().RebuildAddrLabelExpr(E->getAmpAmpLoc(), E->getLabelLoc(), E->getLabel()); } template Sema::OwningExprResult -TreeTransform::TransformStmtExpr(StmtExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformStmtExpr(StmtExpr *E) { OwningStmtResult SubStmt = getDerived().TransformCompoundStmt(E->getSubStmt(), true); if (SubStmt.isInvalid()) @@ -4118,8 +4074,7 @@ TreeTransform::TransformStmtExpr(StmtExpr *E, template Sema::OwningExprResult -TreeTransform::TransformTypesCompatibleExpr(TypesCompatibleExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformTypesCompatibleExpr(TypesCompatibleExpr *E) { QualType T1, T2; { // FIXME: Source location isn't quite accurate. @@ -4145,8 +4100,7 @@ TreeTransform::TransformTypesCompatibleExpr(TypesCompatibleExpr *E, template Sema::OwningExprResult -TreeTransform::TransformChooseExpr(ChooseExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformChooseExpr(ChooseExpr *E) { OwningExprResult Cond = getDerived().TransformExpr(E->getCond()); if (Cond.isInvalid()) return SemaRef.ExprError(); @@ -4172,22 +4126,18 @@ TreeTransform::TransformChooseExpr(ChooseExpr *E, template Sema::OwningExprResult -TreeTransform::TransformGNUNullExpr(GNUNullExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformGNUNullExpr(GNUNullExpr *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformCXXOperatorCallExpr(CXXOperatorCallExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXOperatorCallExpr(CXXOperatorCallExpr *E) { OwningExprResult Callee = getDerived().TransformExpr(E->getCallee()); if (Callee.isInvalid()) return SemaRef.ExprError(); - OwningExprResult First - = getDerived().TransformExpr(E->getArg(0), - E->getNumArgs() == 1 && E->getOperator() == OO_Amp); + OwningExprResult First = getDerived().TransformExpr(E->getArg(0)); if (First.isInvalid()) return SemaRef.ExprError(); @@ -4213,15 +4163,13 @@ TreeTransform::TransformCXXOperatorCallExpr(CXXOperatorCallExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXMemberCallExpr(CXXMemberCallExpr *E, - bool isAddressOfOperand) { - return getDerived().TransformCallExpr(E, isAddressOfOperand); +TreeTransform::TransformCXXMemberCallExpr(CXXMemberCallExpr *E) { + return getDerived().TransformCallExpr(E); } template Sema::OwningExprResult -TreeTransform::TransformCXXNamedCastExpr(CXXNamedCastExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXNamedCastExpr(CXXNamedCastExpr *E) { QualType ExplicitTy; { // FIXME: Source location isn't quite accurate. @@ -4262,38 +4210,33 @@ TreeTransform::TransformCXXNamedCastExpr(CXXNamedCastExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXStaticCastExpr(CXXStaticCastExpr *E, - bool isAddressOfOperand) { - return getDerived().TransformCXXNamedCastExpr(E, isAddressOfOperand); +TreeTransform::TransformCXXStaticCastExpr(CXXStaticCastExpr *E) { + return getDerived().TransformCXXNamedCastExpr(E); } template Sema::OwningExprResult -TreeTransform::TransformCXXDynamicCastExpr(CXXDynamicCastExpr *E, - bool isAddressOfOperand) { - return getDerived().TransformCXXNamedCastExpr(E, isAddressOfOperand); +TreeTransform::TransformCXXDynamicCastExpr(CXXDynamicCastExpr *E) { + return getDerived().TransformCXXNamedCastExpr(E); } template Sema::OwningExprResult TreeTransform::TransformCXXReinterpretCastExpr( - CXXReinterpretCastExpr *E, - bool isAddressOfOperand) { - return getDerived().TransformCXXNamedCastExpr(E, isAddressOfOperand); + CXXReinterpretCastExpr *E) { + return getDerived().TransformCXXNamedCastExpr(E); } template Sema::OwningExprResult -TreeTransform::TransformCXXConstCastExpr(CXXConstCastExpr *E, - bool isAddressOfOperand) { - return getDerived().TransformCXXNamedCastExpr(E, isAddressOfOperand); +TreeTransform::TransformCXXConstCastExpr(CXXConstCastExpr *E) { + return getDerived().TransformCXXNamedCastExpr(E); } template Sema::OwningExprResult TreeTransform::TransformCXXFunctionalCastExpr( - CXXFunctionalCastExpr *E, - bool isAddressOfOperand) { + CXXFunctionalCastExpr *E) { QualType ExplicitTy; { TemporaryBase Rebase(*this, E->getTypeBeginLoc(), DeclarationName()); @@ -4323,8 +4266,7 @@ TreeTransform::TransformCXXFunctionalCastExpr( template Sema::OwningExprResult -TreeTransform::TransformCXXTypeidExpr(CXXTypeidExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXTypeidExpr(CXXTypeidExpr *E) { if (E->isTypeOperand()) { TemporaryBase Rebase(*this, /*FIXME*/E->getLocStart(), DeclarationName()); @@ -4364,23 +4306,20 @@ TreeTransform::TransformCXXTypeidExpr(CXXTypeidExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXBoolLiteralExpr(CXXBoolLiteralExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXBoolLiteralExpr(CXXBoolLiteralExpr *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult TreeTransform::TransformCXXNullPtrLiteralExpr( - CXXNullPtrLiteralExpr *E, - bool isAddressOfOperand) { + CXXNullPtrLiteralExpr *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformCXXThisExpr(CXXThisExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXThisExpr(CXXThisExpr *E) { TemporaryBase Rebase(*this, E->getLocStart(), DeclarationName()); QualType T = getDerived().TransformType(E->getType()); @@ -4396,8 +4335,7 @@ TreeTransform::TransformCXXThisExpr(CXXThisExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXThrowExpr(CXXThrowExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXThrowExpr(CXXThrowExpr *E) { OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr()); if (SubExpr.isInvalid()) return SemaRef.ExprError(); @@ -4411,8 +4349,7 @@ TreeTransform::TransformCXXThrowExpr(CXXThrowExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E) { ParmVarDecl *Param = cast_or_null(getDerived().TransformDecl(E->getParam())); if (!Param) @@ -4427,8 +4364,7 @@ TreeTransform::TransformCXXDefaultArgExpr(CXXDefaultArgExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXZeroInitValueExpr(CXXZeroInitValueExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXZeroInitValueExpr(CXXZeroInitValueExpr *E) { TemporaryBase Rebase(*this, E->getTypeBeginLoc(), DeclarationName()); QualType T = getDerived().TransformType(E->getType()); @@ -4447,8 +4383,7 @@ TreeTransform::TransformCXXZeroInitValueExpr(CXXZeroInitValueExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXNewExpr(CXXNewExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXNewExpr(CXXNewExpr *E) { // Transform the type that we're allocating TemporaryBase Rebase(*this, E->getLocStart(), DeclarationName()); QualType AllocType = getDerived().TransformType(E->getAllocatedType()); @@ -4506,8 +4441,7 @@ TreeTransform::TransformCXXNewExpr(CXXNewExpr *E, template Sema::OwningExprResult -TreeTransform::TransformCXXDeleteExpr(CXXDeleteExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXDeleteExpr(CXXDeleteExpr *E) { OwningExprResult Operand = getDerived().TransformExpr(E->getArgument()); if (Operand.isInvalid()) return SemaRef.ExprError(); @@ -4525,8 +4459,7 @@ TreeTransform::TransformCXXDeleteExpr(CXXDeleteExpr *E, template Sema::OwningExprResult TreeTransform::TransformCXXPseudoDestructorExpr( - CXXPseudoDestructorExpr *E, - bool isAddressOfOperand) { + CXXPseudoDestructorExpr *E) { OwningExprResult Base = getDerived().TransformExpr(E->getBase()); if (Base.isInvalid()) return SemaRef.ExprError(); @@ -4563,8 +4496,7 @@ TreeTransform::TransformCXXPseudoDestructorExpr( template Sema::OwningExprResult TreeTransform::TransformUnresolvedLookupExpr( - UnresolvedLookupExpr *Old, - bool isAddressOfOperand) { + UnresolvedLookupExpr *Old) { TemporaryBase Rebase(*this, Old->getNameLoc(), DeclarationName()); LookupResult R(SemaRef, Old->getName(), Old->getNameLoc(), @@ -4626,8 +4558,7 @@ TreeTransform::TransformUnresolvedLookupExpr( template Sema::OwningExprResult -TreeTransform::TransformUnaryTypeTraitExpr(UnaryTypeTraitExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformUnaryTypeTraitExpr(UnaryTypeTraitExpr *E) { TemporaryBase Rebase(*this, /*FIXME*/E->getLocStart(), DeclarationName()); QualType T = getDerived().TransformType(E->getQueriedType()); @@ -4652,8 +4583,7 @@ TreeTransform::TransformUnaryTypeTraitExpr(UnaryTypeTraitExpr *E, template Sema::OwningExprResult TreeTransform::TransformDependentScopeDeclRefExpr( - DependentScopeDeclRefExpr *E, - bool isAddressOfOperand) { + DependentScopeDeclRefExpr *E) { NestedNameSpecifier *NNS = getDerived().TransformNestedNameSpecifier(E->getQualifier(), E->getQualifierRange()); @@ -4693,8 +4623,7 @@ TreeTransform::TransformDependentScopeDeclRefExpr( template Sema::OwningExprResult -TreeTransform::TransformCXXConstructExpr(CXXConstructExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXConstructExpr(CXXConstructExpr *E) { TemporaryBase Rebase(*this, /*FIXME*/E->getLocStart(), DeclarationName()); QualType T = getDerived().TransformType(E->getType()); @@ -4738,8 +4667,7 @@ TreeTransform::TransformCXXConstructExpr(CXXConstructExpr *E, /// must be unique. template Sema::OwningExprResult -TreeTransform::TransformCXXBindTemporaryExpr(CXXBindTemporaryExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) { OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr()); if (SubExpr.isInvalid()) return SemaRef.ExprError(); @@ -4757,8 +4685,7 @@ TreeTransform::TransformCXXBindTemporaryExpr(CXXBindTemporaryExpr *E, template Sema::OwningExprResult TreeTransform::TransformCXXExprWithTemporaries( - CXXExprWithTemporaries *E, - bool isAddressOfOperand) { + CXXExprWithTemporaries *E) { OwningExprResult SubExpr = getDerived().TransformExpr(E->getSubExpr()); if (SubExpr.isInvalid()) return SemaRef.ExprError(); @@ -4771,8 +4698,7 @@ TreeTransform::TransformCXXExprWithTemporaries( template Sema::OwningExprResult TreeTransform::TransformCXXTemporaryObjectExpr( - CXXTemporaryObjectExpr *E, - bool isAddressOfOperand) { + CXXTemporaryObjectExpr *E) { TemporaryBase Rebase(*this, E->getTypeBeginLoc(), DeclarationName()); QualType T = getDerived().TransformType(E->getType()); if (T.isNull()) @@ -4822,8 +4748,7 @@ TreeTransform::TransformCXXTemporaryObjectExpr( template Sema::OwningExprResult TreeTransform::TransformCXXUnresolvedConstructExpr( - CXXUnresolvedConstructExpr *E, - bool isAddressOfOperand) { + CXXUnresolvedConstructExpr *E) { TemporaryBase Rebase(*this, E->getTypeBeginLoc(), DeclarationName()); QualType T = getDerived().TransformType(E->getTypeAsWritten()); if (T.isNull()) @@ -4862,8 +4787,7 @@ TreeTransform::TransformCXXUnresolvedConstructExpr( template Sema::OwningExprResult TreeTransform::TransformCXXDependentScopeMemberExpr( - CXXDependentScopeMemberExpr *E, - bool isAddressOfOperand) { + CXXDependentScopeMemberExpr *E) { // Transform the base of the expression. OwningExprResult Base(SemaRef, (Expr*) 0); Expr *OldBase; @@ -4960,8 +4884,7 @@ TreeTransform::TransformCXXDependentScopeMemberExpr( template Sema::OwningExprResult -TreeTransform::TransformUnresolvedMemberExpr(UnresolvedMemberExpr *Old, - bool isAddressOfOperand) { +TreeTransform::TransformUnresolvedMemberExpr(UnresolvedMemberExpr *Old) { // Transform the base of the expression. OwningExprResult Base(SemaRef, (Expr*) 0); QualType BaseType; @@ -5033,15 +4956,13 @@ TreeTransform::TransformUnresolvedMemberExpr(UnresolvedMemberExpr *Old, template Sema::OwningExprResult -TreeTransform::TransformObjCStringLiteral(ObjCStringLiteral *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCStringLiteral(ObjCStringLiteral *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformObjCEncodeExpr(ObjCEncodeExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCEncodeExpr(ObjCEncodeExpr *E) { // FIXME: poor source location TemporaryBase Rebase(*this, E->getAtLoc(), DeclarationName()); QualType EncodedType = getDerived().TransformType(E->getEncodedType()); @@ -5059,8 +4980,7 @@ TreeTransform::TransformObjCEncodeExpr(ObjCEncodeExpr *E, template Sema::OwningExprResult -TreeTransform::TransformObjCMessageExpr(ObjCMessageExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCMessageExpr(ObjCMessageExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5068,15 +4988,13 @@ TreeTransform::TransformObjCMessageExpr(ObjCMessageExpr *E, template Sema::OwningExprResult -TreeTransform::TransformObjCSelectorExpr(ObjCSelectorExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCSelectorExpr(ObjCSelectorExpr *E) { return SemaRef.Owned(E->Retain()); } template Sema::OwningExprResult -TreeTransform::TransformObjCProtocolExpr(ObjCProtocolExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCProtocolExpr(ObjCProtocolExpr *E) { ObjCProtocolDecl *Protocol = cast_or_null( getDerived().TransformDecl(E->getProtocol())); @@ -5097,8 +5015,7 @@ TreeTransform::TransformObjCProtocolExpr(ObjCProtocolExpr *E, template Sema::OwningExprResult -TreeTransform::TransformObjCIvarRefExpr(ObjCIvarRefExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCIvarRefExpr(ObjCIvarRefExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5106,8 +5023,7 @@ TreeTransform::TransformObjCIvarRefExpr(ObjCIvarRefExpr *E, template Sema::OwningExprResult -TreeTransform::TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5116,8 +5032,7 @@ TreeTransform::TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E, template Sema::OwningExprResult TreeTransform::TransformObjCImplicitSetterGetterRefExpr( - ObjCImplicitSetterGetterRefExpr *E, - bool isAddressOfOperand) { + ObjCImplicitSetterGetterRefExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5125,8 +5040,7 @@ TreeTransform::TransformObjCImplicitSetterGetterRefExpr( template Sema::OwningExprResult -TreeTransform::TransformObjCSuperExpr(ObjCSuperExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCSuperExpr(ObjCSuperExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5134,8 +5048,7 @@ TreeTransform::TransformObjCSuperExpr(ObjCSuperExpr *E, template Sema::OwningExprResult -TreeTransform::TransformObjCIsaExpr(ObjCIsaExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformObjCIsaExpr(ObjCIsaExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform Objective-C expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5143,8 +5056,7 @@ TreeTransform::TransformObjCIsaExpr(ObjCIsaExpr *E, template Sema::OwningExprResult -TreeTransform::TransformShuffleVectorExpr(ShuffleVectorExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformShuffleVectorExpr(ShuffleVectorExpr *E) { bool ArgumentChanged = false; ASTOwningVector<&ActionBase::DeleteExpr> SubExprs(SemaRef); for (unsigned I = 0, N = E->getNumSubExprs(); I != N; ++I) { @@ -5167,8 +5079,7 @@ TreeTransform::TransformShuffleVectorExpr(ShuffleVectorExpr *E, template Sema::OwningExprResult -TreeTransform::TransformBlockExpr(BlockExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformBlockExpr(BlockExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform block expressions yet"); return SemaRef.Owned(E->Retain()); @@ -5176,8 +5087,7 @@ TreeTransform::TransformBlockExpr(BlockExpr *E, template Sema::OwningExprResult -TreeTransform::TransformBlockDeclRefExpr(BlockDeclRefExpr *E, - bool isAddressOfOperand) { +TreeTransform::TransformBlockDeclRefExpr(BlockDeclRefExpr *E) { // FIXME: Implement this! assert(false && "Cannot transform block-related expressions yet"); return SemaRef.Owned(E->Retain());