From: Stephen Kelly Date: Fri, 6 Dec 2019 23:26:59 +0000 (+0000) Subject: Use ASTDumper to dump the AST from clang-query X-Git-Tag: llvmorg-11-init~2706 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b22d8ae7f436bfe63b28ceddea743071a6601eb1;p=platform%2Fupstream%2Fllvm.git Use ASTDumper to dump the AST from clang-query Summary: This way, the output is not limited by the various API differences between the dump() member functions. For example, all dumps are now in color, while that used to be the case only for Decls and Stmts, but not Types. Additionally, while DynTypedNode::dump (which was used up to now) was limited to dumping only Decls, Stmts and Types, this makes clang-query support everything ASTNodeTraverser supports. Reviewers: aaron.ballman Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D62056 --- diff --git a/clang-tools-extra/clang-query/Query.cpp b/clang-tools-extra/clang-query/Query.cpp index eea0e77..675fd96 100644 --- a/clang-tools-extra/clang-query/Query.cpp +++ b/clang-tools-extra/clang-query/Query.cpp @@ -8,6 +8,7 @@ #include "Query.h" #include "QuerySession.h" +#include "clang/AST/ASTDumper.h" #include "clang/ASTMatchers/ASTMatchFinder.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/TextDiagnostic.h" @@ -128,7 +129,11 @@ bool MatchQuery::run(llvm::raw_ostream &OS, QuerySession &QS) const { } if (QS.DetailedASTOutput) { OS << "Binding for \"" << BI->first << "\":\n"; - BI->second.dump(OS, AST->getSourceManager()); + const ASTContext &Ctx = AST->getASTContext(); + const SourceManager &SM = Ctx.getSourceManager(); + ASTDumper Dumper(OS, &Ctx.getCommentCommandTraits(), &SM, + SM.getDiagnostics().getShowColors(), Ctx.getPrintingPolicy()); + Dumper.Visit(BI->second); OS << "\n"; } }