[PATCH] D56639: NFC: Move Type Visit implementation to TextNodeDumper
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
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
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