From dddfc513973815b7c8aabf270b9c45da7ac74c01 Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko Date: Fri, 16 Nov 2012 21:43:31 +0000 Subject: [PATCH] StmtDumper: remove incomplete support for limiting the maximum dump depth. There are better ways of limiting the amount of information if there is a need for that. Patch by Philip Craig. llvm-svn: 168206 --- clang/include/clang/AST/Stmt.h | 9 ++------- clang/lib/AST/StmtDumper.cpp | 38 +++++--------------------------------- 2 files changed, 7 insertions(+), 40 deletions(-) diff --git a/clang/include/clang/AST/Stmt.h b/clang/include/clang/AST/Stmt.h index a9bbb48..4dc102e 100644 --- a/clang/include/clang/AST/Stmt.h +++ b/clang/include/clang/AST/Stmt.h @@ -360,17 +360,12 @@ public: static void EnableStatistics(); static void PrintStats(); - /// dump - This does a local dump of the specified AST fragment. It dumps the - /// specified node and a few nodes underneath it, but not the whole subtree. - /// This is useful in a debugger. + /// \brief Dumps the specified AST fragment and all subtrees to + /// \c llvm::errs(). LLVM_ATTRIBUTE_USED void dump() const; LLVM_ATTRIBUTE_USED void dump(SourceManager &SM) const; void dump(raw_ostream &OS, SourceManager &SM) const; - /// dumpAll - This does a dump of the specified AST fragment and all subtrees. - void dumpAll() const; - void dumpAll(SourceManager &SM) const; - /// dumpPretty/printPretty - These two methods do a "pretty print" of the AST /// back to its original source language syntax. void dumpPretty(ASTContext &Context) const; diff --git a/clang/lib/AST/StmtDumper.cpp b/clang/lib/AST/StmtDumper.cpp index fbc990f..4e05e64 100644 --- a/clang/lib/AST/StmtDumper.cpp +++ b/clang/lib/AST/StmtDumper.cpp @@ -32,11 +32,6 @@ namespace { unsigned IndentLevel; bool IsFirstLine; - /// MaxDepth - When doing a normal dump (not dumpAll) we only want to dump - /// the first few levels of an AST. This keeps track of how many ast levels - /// are left. - unsigned MaxDepth; - /// LastLocFilename/LastLocLine - Keep track of the last location we print /// out so that we can print out deltas from then on out. const char *LastLocFilename; @@ -54,20 +49,15 @@ namespace { }; public: - StmtDumper(SourceManager *sm, raw_ostream &os, unsigned maxDepth) - : SM(sm), OS(os), IndentLevel(0), IsFirstLine(true), MaxDepth(maxDepth) { - LastLocFilename = ""; - LastLocLine = ~0U; - } + StmtDumper(SourceManager *SM, raw_ostream &OS) + : SM(SM), OS(OS), IndentLevel(0), IsFirstLine(true), + LastLocFilename(""), LastLocLine(~0U) { } ~StmtDumper() { OS << "\n"; } void DumpSubTree(Stmt *S) { - // Prune the recursion if not using dump all. - if (MaxDepth == 0) return; - IndentScope Indent(*this); if (!S) { @@ -727,34 +717,16 @@ void StmtDumper::VisitObjCBoolLiteralExpr(ObjCBoolLiteralExpr *Node) { // Stmt method implementations //===----------------------------------------------------------------------===// -/// dump - This does a local dump of the specified AST fragment. It dumps the -/// specified node and a few nodes underneath it, but not the whole subtree. -/// This is useful in a debugger. void Stmt::dump(SourceManager &SM) const { dump(llvm::errs(), SM); } void Stmt::dump(raw_ostream &OS, SourceManager &SM) const { - StmtDumper P(&SM, OS, 4); + StmtDumper P(&SM, OS); P.DumpSubTree(const_cast(this)); } -/// dump - This does a local dump of the specified AST fragment. It dumps the -/// specified node and a few nodes underneath it, but not the whole subtree. -/// This is useful in a debugger. void Stmt::dump() const { - StmtDumper P(0, llvm::errs(), 4); - P.DumpSubTree(const_cast(this)); -} - -/// dumpAll - This does a dump of the specified AST fragment and all subtrees. -void Stmt::dumpAll(SourceManager &SM) const { - StmtDumper P(&SM, llvm::errs(), ~0U); - P.DumpSubTree(const_cast(this)); -} - -/// dumpAll - This does a dump of the specified AST fragment and all subtrees. -void Stmt::dumpAll() const { - StmtDumper P(0, llvm::errs(), ~0U); + StmtDumper P(0, llvm::errs()); P.DumpSubTree(const_cast(this)); } -- 2.7.4