Changeset View
Changeset View
Standalone View
Standalone View
llvm/tools/llvm-pdbutil/MinimalSymbolDumper.h
Show All 17 Lines | |||||
} | } | ||||
namespace pdb { | namespace pdb { | ||||
class LinePrinter; | class LinePrinter; | ||||
class MinimalSymbolDumper : public codeview::SymbolVisitorCallbacks { | class MinimalSymbolDumper : public codeview::SymbolVisitorCallbacks { | ||||
public: | public: | ||||
MinimalSymbolDumper(LinePrinter &P, bool RecordBytes, | MinimalSymbolDumper(LinePrinter &P, bool RecordBytes, | ||||
codeview::LazyRandomTypeCollection &Ids, | |||||
codeview::LazyRandomTypeCollection &Types) | codeview::LazyRandomTypeCollection &Types) | ||||
: P(P), Types(Types) {} | : P(P), Ids(Ids), Types(Types) {} | ||||
Error visitSymbolBegin(codeview::CVSymbol &Record) override; | Error visitSymbolBegin(codeview::CVSymbol &Record) override; | ||||
Error visitSymbolBegin(codeview::CVSymbol &Record, uint32_t Offset) override; | Error visitSymbolBegin(codeview::CVSymbol &Record, uint32_t Offset) override; | ||||
Error visitSymbolEnd(codeview::CVSymbol &Record) override; | Error visitSymbolEnd(codeview::CVSymbol &Record) override; | ||||
#define SYMBOL_RECORD(EnumName, EnumVal, Name) \ | #define SYMBOL_RECORD(EnumName, EnumVal, Name) \ | ||||
virtual Error visitKnownRecord(codeview::CVSymbol &CVR, \ | virtual Error visitKnownRecord(codeview::CVSymbol &CVR, \ | ||||
codeview::Name &Record) override; | codeview::Name &Record) override; | ||||
#define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) | #define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) | ||||
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" | #include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" | ||||
private: | private: | ||||
std::string typeOrIdIndex(codeview::TypeIndex TI, bool IsType) const; | |||||
std::string typeIndex(codeview::TypeIndex TI) const; | std::string typeIndex(codeview::TypeIndex TI) const; | ||||
std::string idIndex(codeview::TypeIndex TI) const; | |||||
LinePrinter &P; | LinePrinter &P; | ||||
codeview::LazyRandomTypeCollection &Ids; | |||||
codeview::LazyRandomTypeCollection &Types; | codeview::LazyRandomTypeCollection &Types; | ||||
}; | }; | ||||
} // namespace pdb | } // namespace pdb | ||||
} // namespace llvm | } // namespace llvm | ||||
#endif | #endif | ||||
No newline at end of file | No newline at end of file |