forked from OSchip/llvm-project
Make the CXXConstructExpr public and add a StmtClass to it. No functionality change.
llvm-svn: 69954
This commit is contained in:
parent
c5e0337eb2
commit
32ebd29b99
|
@ -379,7 +379,6 @@ public:
|
|||
virtual child_iterator child_end();
|
||||
};
|
||||
|
||||
|
||||
/// CXXConstructExpr - Represents a call to a C++ constructor.
|
||||
class CXXConstructExpr : public Expr {
|
||||
VarDecl *VD;
|
||||
|
@ -390,11 +389,13 @@ class CXXConstructExpr : public Expr {
|
|||
Stmt **Args;
|
||||
unsigned NumArgs;
|
||||
|
||||
CXXConstructExpr(ASTContext &C, VarDecl *vd, QualType T,
|
||||
CXXConstructorDecl *d, bool elidable,
|
||||
Expr **args, unsigned numargs);
|
||||
~CXXConstructExpr() { }
|
||||
|
||||
protected:
|
||||
CXXConstructExpr(ASTContext &C, StmtClass SC, VarDecl *vd, QualType T,
|
||||
CXXConstructorDecl *d, bool elidable,
|
||||
Expr **args, unsigned numargs);
|
||||
|
||||
public:
|
||||
static CXXConstructExpr *Create(ASTContext &C, VarDecl *VD, QualType T,
|
||||
CXXConstructorDecl *D, bool Elidable,
|
||||
|
|
|
@ -258,14 +258,15 @@ CXXConstructExpr *CXXConstructExpr::Create(ASTContext &C, VarDecl *VD,
|
|||
QualType T, CXXConstructorDecl *D,
|
||||
bool Elidable,
|
||||
Expr **Args, unsigned NumArgs) {
|
||||
return new (C) CXXConstructExpr(C, VD, T, D, Elidable, Args, NumArgs);
|
||||
return new (C) CXXConstructExpr(C, CXXConstructExprClass, VD, T, D, Elidable,
|
||||
Args, NumArgs);
|
||||
}
|
||||
|
||||
CXXConstructExpr::CXXConstructExpr(ASTContext &C, VarDecl *vd,
|
||||
CXXConstructExpr::CXXConstructExpr(ASTContext &C, StmtClass SC, VarDecl *vd,
|
||||
QualType T, CXXConstructorDecl *D,
|
||||
bool elidable,
|
||||
Expr **args, unsigned numargs)
|
||||
: Expr(CXXConstructExprClass, T,
|
||||
: Expr(SC, T,
|
||||
T->isDependentType(),
|
||||
(T->isDependentType() ||
|
||||
CallExpr::hasAnyValueDependentArguments(args, numargs))),
|
||||
|
|
Loading…
Reference in New Issue