]> granicus.if.org Git - clang/commitdiff
Implement CXXCtorInitializer dump in terms of Visitor
authorStephen Kelly <steveire@gmail.com>
Tue, 15 Jan 2019 20:17:33 +0000 (20:17 +0000)
committerStephen Kelly <steveire@gmail.com>
Tue, 15 Jan 2019 20:17:33 +0000 (20:17 +0000)
Reviewers: aaron.ballman

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D56707

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@351235 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/TextNodeDumper.h
lib/AST/ASTDumper.cpp
lib/AST/TextNodeDumper.cpp

index 72f2ef66612b30b7a9f48a37cec445c295d9f290..a5cc47f00b673b98efea9546fb4c58853da4461d 100644 (file)
@@ -167,6 +167,8 @@ public:
 
   void Visit(const Decl *D);
 
+  void Visit(const CXXCtorInitializer *Init);
+
   void dumpPointer(const void *Ptr);
   void dumpLocation(SourceLocation Loc);
   void dumpSourceRange(SourceRange R);
index d3ce32c34a572d62260b04544c3e2aae9a5fdc3c..49774aabdfb6ac0efe0090b17e172cfbf77ed70e 100644 (file)
@@ -441,17 +441,7 @@ void ASTDumper::dumpAttr(const Attr *A) {
 
 void ASTDumper::dumpCXXCtorInitializer(const CXXCtorInitializer *Init) {
   dumpChild([=] {
-    OS << "CXXCtorInitializer";
-    if (Init->isAnyMemberInitializer()) {
-      OS << ' ';
-      NodeDumper.dumpBareDeclRef(Init->getAnyMember());
-    } else if (Init->isBaseInitializer()) {
-      NodeDumper.dumpType(QualType(Init->getBaseClass(), 0));
-    } else if (Init->isDelegatingInitializer()) {
-      NodeDumper.dumpType(Init->getTypeSourceInfo()->getType());
-    } else {
-      llvm_unreachable("Unknown initializer type");
-    }
+    NodeDumper.Visit(Init);
     dumpStmt(Init->getInit());
   });
 }
index 189a518075f9c4f37e29e2288225ce343bea0b4d..97fcaba2c970f4e20f907dec998a89c673dfd5b3 100644 (file)
@@ -258,6 +258,20 @@ void TextNodeDumper::Visit(const Decl *D) {
       OS << " constexpr";
 }
 
+void TextNodeDumper::Visit(const CXXCtorInitializer *Init) {
+  OS << "CXXCtorInitializer";
+  if (Init->isAnyMemberInitializer()) {
+    OS << ' ';
+    dumpBareDeclRef(Init->getAnyMember());
+  } else if (Init->isBaseInitializer()) {
+    dumpType(QualType(Init->getBaseClass(), 0));
+  } else if (Init->isDelegatingInitializer()) {
+    dumpType(Init->getTypeSourceInfo()->getType());
+  } else {
+    llvm_unreachable("Unknown initializer type");
+  }
+}
+
 void TextNodeDumper::dumpPointer(const void *Ptr) {
   ColorScope Color(OS, ShowColors, AddressColor);
   OS << ' ' << Ptr;