diff options
author | Anders Carlsson <andersca@mac.com> | 2009-04-24 17:34:38 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-04-24 17:34:38 +0000 |
commit | 524fa13fd81e88533c7a1d4b1232c0de2c97dc7c (patch) | |
tree | 91092bc1fa4ad92617f0ca2ea16473a541378caa /lib/AST/ExprCXX.cpp | |
parent | ced1e286765b4a1c568c8bf2ca41d863bf1584dd (diff) |
Make CXXTemporaryObjectExpr inherit from CXXConstructExpr.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69981 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/ExprCXX.cpp')
-rw-r--r-- | lib/AST/ExprCXX.cpp | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp index b109d7a840..5b4d4d330e 100644 --- a/lib/AST/ExprCXX.cpp +++ b/lib/AST/ExprCXX.cpp @@ -63,14 +63,6 @@ Stmt::child_iterator CXXDefaultArgExpr::child_end() { return child_iterator(); } -// CXXTemporaryObjectExpr -Stmt::child_iterator CXXTemporaryObjectExpr::child_begin() { - return child_iterator(Args); -} -Stmt::child_iterator CXXTemporaryObjectExpr::child_end() { - return child_iterator(Args + NumArgs); -} - // CXXZeroInitValueExpr Stmt::child_iterator CXXZeroInitValueExpr::child_begin() { return child_iterator(); @@ -238,21 +230,9 @@ CXXTemporaryObjectExpr::CXXTemporaryObjectExpr(ASTContext &C, VarDecl *vd, Expr **Args, unsigned NumArgs, SourceLocation rParenLoc) - : Expr(CXXTemporaryObjectExprClass, writtenTy, - writtenTy->isDependentType(), - (writtenTy->isDependentType() || - CallExpr::hasAnyValueDependentArguments(Args, NumArgs))), - TyBeginLoc(tyBeginLoc), RParenLoc(rParenLoc), - Constructor(Cons), Args(0), NumArgs(NumArgs) { - if (NumArgs > 0) { - this->Args = new Stmt*[NumArgs]; - for (unsigned i = 0; i < NumArgs; ++i) - this->Args[i] = Args[i]; - } -} - -CXXTemporaryObjectExpr::~CXXTemporaryObjectExpr() { - delete [] Args; + : CXXConstructExpr(C, CXXTemporaryObjectExprClass, vd, writtenTy, Cons, + false, Args, NumArgs), + TyBeginLoc(tyBeginLoc), RParenLoc(rParenLoc) { } CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, VarDecl *VD, |