Implement CXXCtorInitializer dump in terms of Visitor

Reviewers: aaron.ballman

Subscribers: cfe-commits

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

llvm-svn: 351235
This commit is contained in:
Stephen Kelly 2019-01-15 20:17:33 +00:00
parent 82015b633b
commit 0e050fa542
3 changed files with 17 additions and 11 deletions

View 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);

View 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());
});
}

View 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;