[clang] a9f597b - Output names in the AST in tests
Stephen Kelly via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 18 14:34:34 PST 2019
Author: Stephen Kelly
Date: 2019-12-18T22:33:23Z
New Revision: a9f597b62ebdb670392fec2d5a5154e43b6398aa
URL: https://github.com/llvm/llvm-project/commit/a9f597b62ebdb670392fec2d5a5154e43b6398aa
DIFF: https://github.com/llvm/llvm-project/commit/a9f597b62ebdb670392fec2d5a5154e43b6398aa.diff
LOG: Output names in the AST in tests
Added:
Modified:
clang/unittests/AST/ASTTraverserTest.cpp
Removed:
################################################################################
diff --git a/clang/unittests/AST/ASTTraverserTest.cpp b/clang/unittests/AST/ASTTraverserTest.cpp
index 69812cb8d21c..99d4589c48a3 100644
--- a/clang/unittests/AST/ASTTraverserTest.cpp
+++ b/clang/unittests/AST/ASTTraverserTest.cpp
@@ -27,9 +27,19 @@ class NodeTreePrinter : public TextTreeStructure {
NodeTreePrinter(llvm::raw_ostream &OS)
: TextTreeStructure(OS, /* showColors */ false), OS(OS) {}
- void Visit(const Decl *D) { OS << D->getDeclKindName() << "Decl"; }
+ void Visit(const Decl *D) {
+ OS << D->getDeclKindName() << "Decl";
+ if (auto *ND = dyn_cast<NamedDecl>(D)) {
+ OS << " '" << ND->getDeclName() << "'";
+ }
+ }
- void Visit(const Stmt *S) { OS << S->getStmtClassName(); }
+ void Visit(const Stmt *S) {
+ OS << S->getStmtClassName();
+ if (auto *E = dyn_cast<DeclRefExpr>(S)) {
+ OS << " '" << E->getDecl()->getDeclName() << "'";
+ }
+ }
void Visit(QualType QT) {
OS << "QualType " << QT.split().Quals.getAsString();
@@ -147,7 +157,7 @@ void parmvardecl_attr(struct A __attribute__((address_space(19)))*);
verifyWithDynNode(Func,
R"cpp(
-CXXMethodDecl
+CXXMethodDecl 'func'
|-CompoundStmt
| `-ReturnStmt
| `-IntegerLiteral
More information about the cfe-commits
mailing list