Add DeclContext::dump.

llvm-svn: 90974
This commit is contained in:
Anders Carlsson 2009-12-09 17:27:46 +00:00
parent 9f9010ef47
commit 538af0906d
2 changed files with 13 additions and 0 deletions

View File

@ -1003,6 +1003,8 @@ public:
static bool classof(const Name##Decl *D) { return true; }
#include "clang/AST/DeclNodes.def"
void dump() const;
private:
void LoadLexicalDeclsFromExternalStorage() const;
void LoadVisibleDeclsFromExternalStorage() const;

View File

@ -148,6 +148,17 @@ void Decl::printGroup(Decl** Begin, unsigned NumDecls,
}
}
void DeclContext::dump() const {
// Get the translation unit
const DeclContext *DC = this;
while (!DC->isTranslationUnit())
DC = DC->getParent();
ASTContext &Ctx = cast<TranslationUnitDecl>(DC)->getASTContext();
DeclPrinter Printer(llvm::errs(), Ctx, Ctx.PrintingPolicy, 0);
Printer.VisitDeclContext(const_cast<DeclContext *>(this), /*Indent=*/false);
}
void Decl::dump() const {
print(llvm::errs());
}