diff options
author | Zachary Turner <zturner@google.com> | 2015-02-23 05:58:34 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2015-02-23 05:58:34 +0000 |
commit | 29c69105fb02de4aec7ad0e614bc299c807370cd (patch) | |
tree | 704e1f63cf99a214a6ff0d8a09ba8c40eabf2c2b /llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp | |
parent | 203540f2d6f54eec322ec7d4aeefa811ecb2335c (diff) | |
download | bcm5719-llvm-29c69105fb02de4aec7ad0e614bc299c807370cd.tar.gz bcm5719-llvm-29c69105fb02de4aec7ad0e614bc299c807370cd.zip |
[llvm-pdbdump] Add an option to dump full class definitions.
This adds the --class-definitions flag. If specified, when dumping
types, instead of "class Foo" you will see the full class definition,
with member functions, constructors, access specifiers.
NOTE: Using this option can be very slow, as generating a full class
definition requires accessing many different parts of the PDB.
llvm-svn: 230203
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp b/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp index 5ed1624bfd4..0ce3df528e1 100644 --- a/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp +++ b/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp @@ -127,8 +127,9 @@ void DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, HRESULT (__stdcall IDiaSymbol::*Method)(ArgType *)) { ArgType Value; if (S_OK == (Symbol->*Method)(&Value)) { + OS << "\n"; OS.indent(Indent); - OS << Name << ": " << Value << "\n"; + OS << Name << ": " << Value; } } @@ -142,8 +143,9 @@ void DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, ArrayRef<char> ByteArray(Bytes, ::SysStringByteLen(Value)); std::string Result; if (llvm::convertUTF16ToUTF8String(ByteArray, Result)) { + OS << "\n"; OS.indent(Indent); - OS << Name << ": " << Result << "\n"; + OS << Name << ": " << Result; } ::SysFreeString(Value); } @@ -155,8 +157,9 @@ void DumpDIAValue(llvm::raw_ostream &OS, int Indent, StringRef Name, Value.vt = VT_EMPTY; if (S_OK != (Symbol->*Method)(&Value)) return; - Variant V = VariantFromVARIANT(Value); + OS << "\n"; OS.indent(Indent); + Variant V = VariantFromVARIANT(Value); OS << V; } } @@ -201,7 +204,6 @@ void DIARawSymbol::dump(raw_ostream &OS, int Indent, RAW_METHOD_DUMP(OS, get_frontEndMinor) RAW_METHOD_DUMP(OS, get_frontEndBuild) RAW_METHOD_DUMP(OS, get_frontEndQFE) - RAW_METHOD_DUMP(OS, get_count) RAW_METHOD_DUMP(OS, get_lexicalParentId) RAW_METHOD_DUMP(OS, get_libraryName) RAW_METHOD_DUMP(OS, get_liveRangeStartAddressOffset) |