commit | 4911023fe3fd3a142d1077149fc3bcd9948dece8 | [log] [tgz] |
---|---|---|
author | Zachary Turner <zturner@google.com> | Mon Nov 05 17:40:28 2018 +0000 |
committer | Zachary Turner <zturner@google.com> | Mon Nov 05 17:40:28 2018 +0000 |
tree | 84ff1d143fe3fc2a15b0f7655559872001ef6cee | |
parent | 7509880b54fd47ae498cbbcd85293aebd9b00fa4 [diff] |
Add a target modules dump ast command. This is useful for investigating the clang ast as you reconstruct it via by parsing debug info. It can also be used to write tests against. Differential Revision: https://reviews.llvm.org/D54072 llvm-svn: 346149
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp index fab43e9..9125dab 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp +++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -1391,6 +1391,12 @@ return 0; } +void SymbolFileNativePDB::DumpClangAST(Stream &s) { + if (!m_clang) + return; + m_clang->Dump(s); +} + uint32_t SymbolFileNativePDB::FindGlobalVariables( const ConstString &name, const CompilerDeclContext *parent_decl_ctx, uint32_t max_matches, VariableList &variables) {
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h index c2b5729..94fa580 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h +++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
@@ -155,6 +155,8 @@ ClangASTContext &GetASTContext() { return *m_clang; } ClangASTImporter &GetASTImporter() { return *m_importer; } + void DumpClangAST(Stream &s) override; + private: size_t FindTypesByName(llvm::StringRef name, uint32_t max_matches, TypeMap &types);