forked from OSchip/llvm-project
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:
parent
82015b633b
commit
0e050fa542
|
@ -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);
|
||||
|
|
|
@ -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());
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue