Author: steveire Date: Sun Dec 9 05:23:07 2018 New Revision: 348717 URL: http://llvm.org/viewvc/llvm-project?rev=348717&view=rev Log: Introduce optional labels to dumpStmt
If the label is present, it is added as a child, with the statement a child of the label. This preserves behavior of the InitListExpr dump output. Modified: cfe/trunk/lib/AST/ASTDumper.cpp Modified: cfe/trunk/lib/AST/ASTDumper.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDumper.cpp?rev=348717&r1=348716&r2=348717&view=diff ============================================================================== --- cfe/trunk/lib/AST/ASTDumper.cpp (original) +++ cfe/trunk/lib/AST/ASTDumper.cpp Sun Dec 9 05:23:07 2018 @@ -83,7 +83,8 @@ namespace { void setDeserialize(bool D) { Deserialize = D; } void dumpDecl(const Decl *D); - void dumpStmt(const Stmt *S); + void dumpStmt(const Stmt *S, const char *label = nullptr); + void dumpStmtImpl(const Stmt *S); // Utilities void dumpType(QualType T) { NodeDumper.dumpType(T); } @@ -1711,7 +1712,18 @@ void ASTDumper::VisitBlockDecl(const Blo // Stmt dumping methods. //===----------------------------------------------------------------------===// -void ASTDumper::dumpStmt(const Stmt *S) { +void ASTDumper::dumpStmt(const Stmt *S, const char *label) { + if (label) { + dumpChild([=] { + OS << label; + dumpStmtImpl(S); + }); + } else { + dumpStmtImpl(S); + } +} + +void ASTDumper::dumpStmtImpl(const Stmt *S) { dumpChild([=] { if (!S) { ColorScope Color(OS, ShowColors, NullColor); @@ -1978,10 +1990,7 @@ void ASTDumper::VisitInitListExpr(const NodeDumper.dumpBareDeclRef(Field); } if (auto *Filler = ILE->getArrayFiller()) { - dumpChild([=] { - OS << "array filler"; - dumpStmt(Filler); - }); + dumpStmt(Filler, "array filler"); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits