зеркало из https://github.com/microsoft/clang-1.git
Improve the printing of C++ construction expressions, from Yuri Gribov!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124123 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
cb88a1f968
Коммит
d0fb3adeed
|
@ -1128,14 +1128,15 @@ void StmtPrinter::VisitCXXPseudoDestructorExpr(CXXPseudoDestructorExpr *E) {
|
|||
}
|
||||
|
||||
void StmtPrinter::VisitCXXConstructExpr(CXXConstructExpr *E) {
|
||||
// FIXME. For now we just print a trivial constructor call expression,
|
||||
// constructing its first argument object.
|
||||
if (E->getNumArgs() == 1) {
|
||||
CXXConstructorDecl *CD = E->getConstructor();
|
||||
if (CD->isTrivial())
|
||||
PrintExpr(E->getArg(0));
|
||||
for (unsigned i = 0, e = E->getNumArgs(); i != e; ++i) {
|
||||
if (isa<CXXDefaultArgExpr>(E->getArg(i))) {
|
||||
// Don't print any defaulted arguments
|
||||
break;
|
||||
}
|
||||
|
||||
if (i) OS << ", ";
|
||||
PrintExpr(E->getArg(i));
|
||||
}
|
||||
// Nothing to print.
|
||||
}
|
||||
|
||||
void StmtPrinter::VisitExprWithCleanups(ExprWithCleanups *E) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче