[PATCH] D56639: NFC: Move Type Visit implementation to TextNodeDumper

2019-01-14 Thread Stephen Kelly via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rC351114: [ASTDump] NFC: Move Type Visit implementation to 
TextNodeDumper (authored by steveire, committed by ).

Changed prior to commit:
  https://reviews.llvm.org/D56639?vs=181448=181625#toc

Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56639/new/

https://reviews.llvm.org/D56639

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

Index: include/clang/AST/TextNodeDumper.h
===
--- include/clang/AST/TextNodeDumper.h
+++ include/clang/AST/TextNodeDumper.h
@@ -159,6 +159,8 @@
 
   void Visit(const Stmt *Node);
 
+  void Visit(const Type *T);
+
   void dumpPointer(const void *Ptr);
   void dumpLocation(SourceLocation Loc);
   void dumpSourceRange(SourceRange R);
Index: lib/AST/ASTDumper.cpp
===
--- lib/AST/ASTDumper.cpp
+++ lib/AST/ASTDumper.cpp
@@ -430,47 +430,18 @@
 
 void ASTDumper::dumpTypeAsChild(const Type *T) {
   dumpChild([=] {
-if (!T) {
-  ColorScope Color(OS, ShowColors, NullColor);
-  OS << "<<>>";
+NodeDumper.Visit(T);
+if (!T)
   return;
-}
 if (const LocInfoType *LIT = llvm::dyn_cast(T)) {
-  {
-ColorScope Color(OS, ShowColors, TypeColor);
-OS << "LocInfo Type";
-  }
-  NodeDumper.dumpPointer(T);
   dumpTypeAsChild(LIT->getTypeSourceInfo()->getType());
   return;
 }
-
-{
-  ColorScope Color(OS, ShowColors, TypeColor);
-  OS << T->getTypeClassName() << "Type";
-}
-NodeDumper.dumpPointer(T);
-OS << " ";
-NodeDumper.dumpBareType(QualType(T, 0), false);
+TypeVisitor::Visit(T);
 
 QualType SingleStepDesugar =
 T->getLocallyUnqualifiedSingleStepDesugaredType();
 if (SingleStepDesugar != QualType(T, 0))
-  OS << " sugar";
-if (T->isDependentType())
-  OS << " dependent";
-else if (T->isInstantiationDependentType())
-  OS << " instantiation_dependent";
-if (T->isVariablyModifiedType())
-  OS << " variably_modified";
-if (T->containsUnexpandedParameterPack())
-  OS << " contains_unexpanded_pack";
-if (T->isFromAST())
-  OS << " imported";
-
-TypeVisitor::Visit(T);
-
-if (SingleStepDesugar != QualType(T, 0))
   dumpTypeAsChild(SingleStepDesugar);
   });
 }
Index: lib/AST/TextNodeDumper.cpp
===
--- lib/AST/TextNodeDumper.cpp
+++ lib/AST/TextNodeDumper.cpp
@@ -12,6 +12,7 @@
 //===--===//
 
 #include "clang/AST/TextNodeDumper.h"
+#include "clang/AST/LocInfoType.h"
 
 using namespace clang;
 
@@ -130,6 +131,47 @@
   ConstStmtVisitor::Visit(Node);
 }
 
+void TextNodeDumper::Visit(const Type *T) {
+  if (!T) {
+ColorScope Color(OS, ShowColors, NullColor);
+OS << "<<>>";
+return;
+  }
+  if (isa(T)) {
+{
+  ColorScope Color(OS, ShowColors, TypeColor);
+  OS << "LocInfo Type";
+}
+dumpPointer(T);
+return;
+  }
+
+  {
+ColorScope Color(OS, ShowColors, TypeColor);
+OS << T->getTypeClassName() << "Type";
+  }
+  dumpPointer(T);
+  OS << " ";
+  dumpBareType(QualType(T, 0), false);
+
+  QualType SingleStepDesugar =
+  T->getLocallyUnqualifiedSingleStepDesugaredType();
+  if (SingleStepDesugar != QualType(T, 0))
+OS << " sugar";
+
+  if (T->isDependentType())
+OS << " dependent";
+  else if (T->isInstantiationDependentType())
+OS << " instantiation_dependent";
+
+  if (T->isVariablyModifiedType())
+OS << " variably_modified";
+  if (T->containsUnexpandedParameterPack())
+OS << " contains_unexpanded_pack";
+  if (T->isFromAST())
+OS << " imported";
+}
+
 void TextNodeDumper::dumpPointer(const void *Ptr) {
   ColorScope Color(OS, ShowColors, AddressColor);
   OS << ' ' << Ptr;
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D56639: NFC: Move Type Visit implementation to TextNodeDumper

2019-01-14 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.

LGTM aside from some minor nits.




Comment at: lib/AST/ASTDumper.cpp:434
+NodeDumper.Visit(T);
 if (!T) {
   return;

Elide braces.



Comment at: lib/AST/TextNodeDumper.cpp:15
 #include "clang/AST/TextNodeDumper.h"
 
+#include "clang/AST/LocInfoType.h"

Spurious whitespace.



Comment at: lib/AST/TextNodeDumper.cpp:142
+  }
+  if (llvm::isa(T)) {
+{

Drop the `llvm::`



Comment at: lib/AST/TextNodeDumper.cpp:163-166
+  if (T->isDependentType())
+OS << " dependent";
+  else if (T->isInstantiationDependentType())
+OS << " instantiation_dependent";

Can you add a newline before the `if` statement and after the `else if` body? 
Something to set it apart that only one of these two branches is output.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56639/new/

https://reviews.llvm.org/D56639



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D56639: NFC: Move Type Visit implementation to TextNodeDumper

2019-01-12 Thread Stephen Kelly via Phabricator via cfe-commits
steveire created this revision.
steveire added a reviewer: aaron.ballman.
Herald added a subscriber: cfe-commits.

Repository:
  rC Clang

https://reviews.llvm.org/D56639

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

Index: lib/AST/TextNodeDumper.cpp
===
--- lib/AST/TextNodeDumper.cpp
+++ lib/AST/TextNodeDumper.cpp
@@ -13,6 +13,8 @@
 
 #include "clang/AST/TextNodeDumper.h"
 
+#include "clang/AST/LocInfoType.h"
+
 using namespace clang;
 
 TextNodeDumper::TextNodeDumper(raw_ostream , bool ShowColors,
@@ -131,6 +133,45 @@
   ConstStmtVisitor::Visit(Node);
 }
 
+void TextNodeDumper::Visit(const Type *T) {
+  if (!T) {
+ColorScope Color(OS, ShowColors, NullColor);
+OS << "<<>>";
+return;
+  }
+  if (llvm::isa(T)) {
+{
+  ColorScope Color(OS, ShowColors, TypeColor);
+  OS << "LocInfo Type";
+}
+dumpPointer(T);
+return;
+  }
+
+  {
+ColorScope Color(OS, ShowColors, TypeColor);
+OS << T->getTypeClassName() << "Type";
+  }
+  dumpPointer(T);
+  OS << " ";
+  dumpBareType(QualType(T, 0), false);
+
+  QualType SingleStepDesugar =
+  T->getLocallyUnqualifiedSingleStepDesugaredType();
+  if (SingleStepDesugar != QualType(T, 0))
+OS << " sugar";
+  if (T->isDependentType())
+OS << " dependent";
+  else if (T->isInstantiationDependentType())
+OS << " instantiation_dependent";
+  if (T->isVariablyModifiedType())
+OS << " variably_modified";
+  if (T->containsUnexpandedParameterPack())
+OS << " contains_unexpanded_pack";
+  if (T->isFromAST())
+OS << " imported";
+}
+
 void TextNodeDumper::dumpPointer(const void *Ptr) {
   ColorScope Color(OS, ShowColors, AddressColor);
   OS << ' ' << Ptr;
Index: lib/AST/ASTDumper.cpp
===
--- lib/AST/ASTDumper.cpp
+++ lib/AST/ASTDumper.cpp
@@ -430,46 +430,18 @@
 
 void ASTDumper::dumpTypeAsChild(const Type *T) {
   dumpChild([=] {
+NodeDumper.Visit(T);
 if (!T) {
-  ColorScope Color(OS, ShowColors, NullColor);
-  OS << "<<>>";
   return;
 }
 if (const LocInfoType *LIT = llvm::dyn_cast(T)) {
-  {
-ColorScope Color(OS, ShowColors, TypeColor);
-OS << "LocInfo Type";
-  }
-  NodeDumper.dumpPointer(T);
   dumpTypeAsChild(LIT->getTypeSourceInfo()->getType());
   return;
 }
-
-{
-  ColorScope Color(OS, ShowColors, TypeColor);
-  OS << T->getTypeClassName() << "Type";
-}
-NodeDumper.dumpPointer(T);
-OS << " ";
-NodeDumper.dumpBareType(QualType(T, 0), false);
+TypeVisitor::Visit(T);
 
 QualType SingleStepDesugar =
 T->getLocallyUnqualifiedSingleStepDesugaredType();
-if (SingleStepDesugar != QualType(T, 0))
-  OS << " sugar";
-if (T->isDependentType())
-  OS << " dependent";
-else if (T->isInstantiationDependentType())
-  OS << " instantiation_dependent";
-if (T->isVariablyModifiedType())
-  OS << " variably_modified";
-if (T->containsUnexpandedParameterPack())
-  OS << " contains_unexpanded_pack";
-if (T->isFromAST())
-  OS << " imported";
-
-TypeVisitor::Visit(T);
-
 if (SingleStepDesugar != QualType(T, 0))
   dumpTypeAsChild(SingleStepDesugar);
   });
Index: include/clang/AST/TextNodeDumper.h
===
--- include/clang/AST/TextNodeDumper.h
+++ include/clang/AST/TextNodeDumper.h
@@ -159,6 +159,8 @@
 
   void Visit(const Stmt *Node);
 
+  void Visit(const Type *T);
+
   void dumpPointer(const void *Ptr);
   void dumpLocation(SourceLocation Loc);
   void dumpSourceRange(SourceRange R);
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits