mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-24 07:01:35 +00:00
[llvm-pdbdump] Clean up method signatures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230889 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
914913952c
commit
53e4b56257
@ -21,61 +21,37 @@ public:
|
||||
PDBSymDumper(bool ShouldRequireImpl);
|
||||
virtual ~PDBSymDumper();
|
||||
|
||||
virtual void dump(const PDBSymbolAnnotation &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolBlock &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolCompilandDetails &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolCustom &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolData &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolExe &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolFunc &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolFuncDebugEnd &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolFuncDebugStart &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolLabel &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolPublicSymbol &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolThunk &Symbol, raw_ostream &OS, int Indent);
|
||||
virtual void dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeCustom &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeDimension &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeFriend &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeManaged &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolTypeVTableShape &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolUsingNamespace &Symbol, raw_ostream &OS,
|
||||
int Indent);
|
||||
virtual void dump(const PDBSymbolAnnotation &Symbol);
|
||||
virtual void dump(const PDBSymbolBlock &Symbol);
|
||||
virtual void dump(const PDBSymbolCompiland &Symbol);
|
||||
virtual void dump(const PDBSymbolCompilandDetails &Symbol);
|
||||
virtual void dump(const PDBSymbolCompilandEnv &Symbol);
|
||||
virtual void dump(const PDBSymbolCustom &Symbol);
|
||||
virtual void dump(const PDBSymbolData &Symbol);
|
||||
virtual void dump(const PDBSymbolExe &Symbol);
|
||||
virtual void dump(const PDBSymbolFunc &Symbol);
|
||||
virtual void dump(const PDBSymbolFuncDebugEnd &Symbol);
|
||||
virtual void dump(const PDBSymbolFuncDebugStart &Symbol);
|
||||
virtual void dump(const PDBSymbolLabel &Symbol);
|
||||
virtual void dump(const PDBSymbolPublicSymbol &Symbol);
|
||||
virtual void dump(const PDBSymbolThunk &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeArray &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeBaseClass &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeBuiltin &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeCustom &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeDimension &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeEnum &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeFriend &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeFunctionArg &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeFunctionSig &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeManaged &Symbol);
|
||||
virtual void dump(const PDBSymbolTypePointer &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeTypedef &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeUDT &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeVTable &Symbol);
|
||||
virtual void dump(const PDBSymbolTypeVTableShape &Symbol);
|
||||
virtual void dump(const PDBSymbolUnknown &Symbol);
|
||||
virtual void dump(const PDBSymbolUsingNamespace &Symbol);
|
||||
|
||||
private:
|
||||
bool RequireImpl;
|
||||
|
@ -53,8 +53,7 @@ public:
|
||||
/// call dump() on the underlying RawSymbol, which allows us to discover
|
||||
/// unknown properties, but individual implementations of PDBSymbol may
|
||||
/// override the behavior to only dump known fields.
|
||||
virtual void dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const = 0;
|
||||
virtual void dump(PDBSymDumper &Dumper) const = 0;
|
||||
void defaultDump(raw_ostream &OS, int Indent) const;
|
||||
|
||||
PDB_SymType getSymTag() const;
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Annotation)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Block)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Compiland)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(isEditAndContinueEnabled)
|
||||
FORWARD_SYMBOL_METHOD(getLexicalParentId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::CompilandDetails)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
void getFrontEndVersion(VersionInfo &Version) const {
|
||||
RawSymbol->getFrontEndVersion(Version);
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::CompilandEnv)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getLexicalParentId)
|
||||
FORWARD_SYMBOL_METHOD(getName)
|
||||
|
@ -28,7 +28,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Custom)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
void getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes);
|
||||
FORWARD_SYMBOL_METHOD(getSymIndexId)
|
||||
|
@ -26,7 +26,7 @@ public:
|
||||
|
||||
std::unique_ptr<PDBSymbol> getType() const;
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAccess)
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
|
@ -25,7 +25,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Exe)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAge)
|
||||
FORWARD_SYMBOL_METHOD(getGuid)
|
||||
|
@ -22,7 +22,7 @@ public:
|
||||
PDBSymbolFunc(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> FuncSymbol);
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
std::unique_ptr<PDBSymbolTypeFunctionSig> getSignature() const;
|
||||
std::unique_ptr<PDBSymbolTypeUDT> getClassParent() const;
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::FuncDebugEnd)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::FuncDebugStart)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Label)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::PublicSymbol)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
FORWARD_SYMBOL_METHOD(getAddressSection)
|
||||
|
@ -25,7 +25,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Thunk)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAccess)
|
||||
FORWARD_SYMBOL_METHOD(getAddressOffset)
|
||||
|
@ -26,7 +26,7 @@ public:
|
||||
|
||||
std::unique_ptr<PDBSymbol> getElementType() const;
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getArrayIndexTypeId)
|
||||
FORWARD_SYMBOL_METHOD(isConstType)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::BaseClass)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getAccess)
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::BuiltinType)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getBuiltinType)
|
||||
FORWARD_SYMBOL_METHOD(isConstType)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::CustomType)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getOemId)
|
||||
FORWARD_SYMBOL_METHOD(getOemSymbolId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Dimension)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getLowerBoundId)
|
||||
FORWARD_SYMBOL_METHOD(getUpperBoundId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Enum)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getBuiltinType)
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Friend)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
FORWARD_SYMBOL_METHOD(getName)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::FunctionArg)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
FORWARD_SYMBOL_METHOD(getLexicalParentId)
|
||||
|
@ -28,7 +28,7 @@ public:
|
||||
std::unique_ptr<IPDBEnumSymbols> getArguments() const;
|
||||
std::unique_ptr<PDBSymbol> getClassParent() const;
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
void dumpArgList(raw_ostream &OS) const;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getCallingConvention)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::ManagedType)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getName)
|
||||
FORWARD_SYMBOL_METHOD(getSymIndexId)
|
||||
|
@ -26,7 +26,7 @@ public:
|
||||
|
||||
std::unique_ptr<PDBSymbol> getPointeeType() const;
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(isConstType)
|
||||
FORWARD_SYMBOL_METHOD(getLength)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Typedef)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getBuiltinType)
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::UDT)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
FORWARD_SYMBOL_METHOD(getUnmodifiedTypeId)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::VTable)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getClassParentId)
|
||||
FORWARD_SYMBOL_METHOD(isConstType)
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::VTableShape)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(isConstType)
|
||||
FORWARD_SYMBOL_METHOD(getCount)
|
||||
|
@ -21,7 +21,7 @@ public:
|
||||
PDBSymbolUnknown(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> UnknownSymbol);
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
static bool classof(const PDBSymbol *S) {
|
||||
return (S->getSymTag() == PDB_SymType::None ||
|
||||
|
@ -24,7 +24,7 @@ public:
|
||||
|
||||
DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::UsingNamespace)
|
||||
|
||||
void dump(raw_ostream &OS, int Indent, PDBSymDumper &Dumper) const override;
|
||||
void dump(PDBSymDumper &Dumper) const override;
|
||||
|
||||
FORWARD_SYMBOL_METHOD(getLexicalParentId)
|
||||
FORWARD_SYMBOL_METHOD(getName)
|
||||
|
@ -21,157 +21,126 @@ PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
|
||||
|
||||
PDBSymDumper::~PDBSymDumper() {}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolBlock &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolCustom &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolExe &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolLabel &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolThunk &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
|
||||
}
|
||||
|
||||
void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
|
||||
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolAnnotation::PDBSymbolAnnotation(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolAnnotation::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolAnnotation::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,4 @@ PDBSymbolBlock::PDBSymbolBlock(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolBlock::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolBlock::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolCompiland::PDBSymbolCompiland(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolCompiland::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolCompiland::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolCompilandDetails::PDBSymbolCompilandDetails(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolCompilandDetails::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolCompilandDetails::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -26,7 +26,6 @@ std::string PDBSymbolCompilandEnv::getValue() const {
|
||||
return std::string();
|
||||
}
|
||||
|
||||
void PDBSymbolCompilandEnv::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolCompilandEnv::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -25,7 +25,4 @@ void PDBSymbolCustom::getDataBytes(llvm::SmallVector<uint8_t, 32> &bytes) {
|
||||
RawSymbol->getDataBytes(bytes);
|
||||
}
|
||||
|
||||
void PDBSymbolCustom::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolCustom::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
@ -24,7 +24,4 @@ std::unique_ptr<PDBSymbol> PDBSymbolData::getType() const {
|
||||
return Session.getSymbolById(getTypeId());
|
||||
}
|
||||
|
||||
void PDBSymbolData::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolData::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
@ -19,7 +19,4 @@ PDBSymbolExe::PDBSymbolExe(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolExe::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolExe::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -98,7 +98,4 @@ std::unique_ptr<PDBSymbolTypeUDT> PDBSymbolFunc::getClassParent() const {
|
||||
return Session.getConcreteSymbolById<PDBSymbolTypeUDT>(getClassParentId());
|
||||
}
|
||||
|
||||
void PDBSymbolFunc::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolFunc::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolFuncDebugEnd::PDBSymbolFuncDebugEnd(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolFuncDebugEnd::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolFuncDebugEnd::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolFuncDebugStart::PDBSymbolFuncDebugStart(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolFuncDebugStart::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolFuncDebugStart::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,4 @@ PDBSymbolLabel::PDBSymbolLabel(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolLabel::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolLabel::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolPublicSymbol::PDBSymbolPublicSymbol(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolPublicSymbol::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolPublicSymbol::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,4 @@ PDBSymbolThunk::PDBSymbolThunk(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolThunk::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolThunk::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -24,7 +24,6 @@ std::unique_ptr<PDBSymbol> PDBSymbolTypeArray::getElementType() const {
|
||||
return Session.getSymbolById(getTypeId());
|
||||
}
|
||||
|
||||
void PDBSymbolTypeArray::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeArray::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolTypeBaseClass::PDBSymbolTypeBaseClass(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeBaseClass::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeBaseClass::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolTypeBuiltin::PDBSymbolTypeBuiltin(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeBuiltin::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeBuiltin::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolTypeCustom::PDBSymbolTypeCustom(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeCustom::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeCustom::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ PDBSymbolTypeDimension::PDBSymbolTypeDimension(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeDimension::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeDimension::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,4 @@ PDBSymbolTypeEnum::PDBSymbolTypeEnum(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeEnum::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolTypeEnum::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolTypeFriend::PDBSymbolTypeFriend(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeFriend::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeFriend::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolTypeFunctionArg::PDBSymbolTypeFunctionArg(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeFunctionArg::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeFunctionArg::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -83,7 +83,6 @@ std::unique_ptr<PDBSymbol> PDBSymbolTypeFunctionSig::getClassParent() const {
|
||||
return Session.getSymbolById(ClassId);
|
||||
}
|
||||
|
||||
void PDBSymbolTypeFunctionSig::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeFunctionSig::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolTypeManaged::PDBSymbolTypeManaged(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeManaged::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeManaged::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ std::unique_ptr<PDBSymbol> PDBSymbolTypePointer::getPointeeType() const {
|
||||
return Session.getSymbolById(getTypeId());
|
||||
}
|
||||
|
||||
void PDBSymbolTypePointer::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypePointer::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolTypeTypedef::PDBSymbolTypeTypedef(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeTypedef::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeTypedef::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -19,7 +19,4 @@ PDBSymbolTypeUDT::PDBSymbolTypeUDT(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeUDT::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolTypeUDT::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -19,7 +19,6 @@ PDBSymbolTypeVTable::PDBSymbolTypeVTable(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeVTable::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeVTable::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolTypeVTableShape::PDBSymbolTypeVTableShape(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolTypeVTableShape::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolTypeVTableShape::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -20,7 +20,4 @@ PDBSymbolUnknown::PDBSymbolUnknown(const IPDBSession &PDBSession,
|
||||
std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolUnknown::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
}
|
||||
void PDBSymbolUnknown::dump(PDBSymDumper &Dumper) const { Dumper.dump(*this); }
|
||||
|
@ -20,7 +20,6 @@ PDBSymbolUsingNamespace::PDBSymbolUsingNamespace(
|
||||
const IPDBSession &PDBSession, std::unique_ptr<IPDBRawSymbol> Symbol)
|
||||
: PDBSymbol(PDBSession, std::move(Symbol)) {}
|
||||
|
||||
void PDBSymbolUsingNamespace::dump(raw_ostream &OS, int Indent,
|
||||
PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this, OS, Indent);
|
||||
void PDBSymbolUsingNamespace::dump(PDBSymDumper &Dumper) const {
|
||||
Dumper.dump(*this);
|
||||
}
|
||||
|
@ -18,8 +18,7 @@ using namespace llvm;
|
||||
BuiltinDumper::BuiltinDumper(LinePrinter &P)
|
||||
: PDBSymDumper(false), Printer(P) {}
|
||||
|
||||
void BuiltinDumper::start(const PDBSymbolTypeBuiltin &Symbol,
|
||||
llvm::raw_ostream &OS) {
|
||||
void BuiltinDumper::start(const PDBSymbolTypeBuiltin &Symbol) {
|
||||
PDB_BuiltinType Type = Symbol.getBuiltinType();
|
||||
switch (Type) {
|
||||
case PDB_BuiltinType::Float:
|
||||
|
@ -20,7 +20,7 @@ class BuiltinDumper : public PDBSymDumper {
|
||||
public:
|
||||
BuiltinDumper(LinePrinter &P);
|
||||
|
||||
void start(const PDBSymbolTypeBuiltin &Symbol, llvm::raw_ostream &OS);
|
||||
void start(const PDBSymbolTypeBuiltin &Symbol);
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
|
@ -31,15 +31,14 @@ using namespace llvm;
|
||||
ClassDefinitionDumper::ClassDefinitionDumper(LinePrinter &P)
|
||||
: PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void ClassDefinitionDumper::start(const PDBSymbolTypeUDT &Class,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void ClassDefinitionDumper::start(const PDBSymbolTypeUDT &Class) {
|
||||
std::string Name = Class.getName();
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "class ";
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Class.getName();
|
||||
Printer << " {";
|
||||
auto Children = Class.findAllChildren();
|
||||
if (Children->getChildCount() == 0) {
|
||||
OS << "}";
|
||||
Printer << "}";
|
||||
return;
|
||||
}
|
||||
|
||||
@ -78,22 +77,20 @@ void ClassDefinitionDumper::start(const PDBSymbolTypeUDT &Class,
|
||||
}
|
||||
|
||||
int Count = 0;
|
||||
Count += dumpAccessGroup((PDB_MemberAccess)0, Groups[0], OS, Indent);
|
||||
Count += dumpAccessGroup((PDB_MemberAccess)0, Groups[0]);
|
||||
Count += dumpAccessGroup(PDB_MemberAccess::Public,
|
||||
Groups[(int)PDB_MemberAccess::Public], OS, Indent);
|
||||
Count +=
|
||||
dumpAccessGroup(PDB_MemberAccess::Protected,
|
||||
Groups[(int)PDB_MemberAccess::Protected], OS, Indent);
|
||||
Groups[(int)PDB_MemberAccess::Public]);
|
||||
Count += dumpAccessGroup(PDB_MemberAccess::Protected,
|
||||
Groups[(int)PDB_MemberAccess::Protected]);
|
||||
Count += dumpAccessGroup(PDB_MemberAccess::Private,
|
||||
Groups[(int)PDB_MemberAccess::Private], OS, Indent);
|
||||
Groups[(int)PDB_MemberAccess::Private]);
|
||||
if (Count > 0)
|
||||
Printer.NewLine();
|
||||
OS << "}";
|
||||
Printer << "}";
|
||||
}
|
||||
|
||||
int ClassDefinitionDumper::dumpAccessGroup(PDB_MemberAccess Access,
|
||||
const SymbolGroup &Group,
|
||||
raw_ostream &OS, int Indent) {
|
||||
const SymbolGroup &Group) {
|
||||
if (Group.Functions.empty() && Group.Data.empty() && Group.Unknown.empty())
|
||||
return 0;
|
||||
|
||||
@ -115,46 +112,41 @@ int ClassDefinitionDumper::dumpAccessGroup(PDB_MemberAccess Access,
|
||||
for (auto iter = Group.Functions.begin(), end = Group.Functions.end();
|
||||
iter != end; ++iter) {
|
||||
++Count;
|
||||
(*iter)->dump(OS, Indent + 2, *this);
|
||||
(*iter)->dump(*this);
|
||||
}
|
||||
for (auto iter = Group.Data.begin(), end = Group.Data.end(); iter != end;
|
||||
++iter) {
|
||||
++Count;
|
||||
(*iter)->dump(OS, Indent + 2, *this);
|
||||
(*iter)->dump(*this);
|
||||
}
|
||||
for (auto iter = Group.Unknown.begin(), end = Group.Unknown.end();
|
||||
iter != end; ++iter) {
|
||||
++Count;
|
||||
(*iter)->dump(OS, Indent + 2, *this);
|
||||
(*iter)->dump(*this);
|
||||
}
|
||||
Printer.Unindent();
|
||||
return Count;
|
||||
}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeBaseClass &Symbol,
|
||||
raw_ostream &OS, int Indent) {}
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolData &Symbol) {
|
||||
VariableDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS, Indent);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolFunc &Symbol) {
|
||||
if (Printer.IsSymbolExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
Printer.NewLine();
|
||||
FunctionDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, FunctionDumper::PointerType::None, OS, Indent);
|
||||
Dumper.start(Symbol, FunctionDumper::PointerType::None);
|
||||
}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeVTable &Symbol,
|
||||
raw_ostream &OS, int Indent) {}
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeVTable &Symbol) {}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeEnum &Symbol,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
if (Printer.IsTypeExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
@ -163,15 +155,13 @@ void ClassDefinitionDumper::dump(const PDBSymbolTypeEnum &Symbol,
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeTypedef &Symbol,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
|
||||
if (Printer.IsTypeExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
Printer.NewLine();
|
||||
TypedefDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS, Indent);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeUDT &Symbol,
|
||||
raw_ostream &OS, int Indent) {}
|
||||
void ClassDefinitionDumper::dump(const PDBSymbolTypeUDT &Symbol) {}
|
||||
|
@ -26,20 +26,15 @@ class ClassDefinitionDumper : public PDBSymDumper {
|
||||
public:
|
||||
ClassDefinitionDumper(LinePrinter &P);
|
||||
|
||||
void start(const PDBSymbolTypeUDT &Exe, raw_ostream &OS, int Indent);
|
||||
void start(const PDBSymbolTypeUDT &Exe);
|
||||
|
||||
void dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolData &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolFunc &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeBaseClass &Symbol) override;
|
||||
void dump(const PDBSymbolData &Symbol) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol) override;
|
||||
void dump(const PDBSymbolFunc &Symbol) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol) override;
|
||||
void dump(const PDBSymbolTypeVTable &Symbol) override;
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
@ -60,8 +55,7 @@ private:
|
||||
};
|
||||
typedef std::unordered_map<int, SymbolGroup> SymbolGroupByAccess;
|
||||
|
||||
int dumpAccessGroup(PDB_MemberAccess Access, const SymbolGroup &Group,
|
||||
raw_ostream &OS, int Indent);
|
||||
int dumpAccessGroup(PDB_MemberAccess Access, const SymbolGroup &Group);
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -38,14 +38,11 @@ using namespace llvm;
|
||||
CompilandDumper::CompilandDumper(LinePrinter &P)
|
||||
: PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolCompilandDetails &Symbol,
|
||||
raw_ostream &OS, int Indent) {}
|
||||
void CompilandDumper::dump(const PDBSymbolCompilandDetails &Symbol) {}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
|
||||
int Indent) {}
|
||||
void CompilandDumper::dump(const PDBSymbolCompilandEnv &Symbol) {}
|
||||
|
||||
void CompilandDumper::start(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
|
||||
int Indent, bool Children) {
|
||||
void CompilandDumper::start(const PDBSymbolCompiland &Symbol, bool Children) {
|
||||
std::string FullName = Symbol.getName();
|
||||
if (Printer.IsCompilandExcluded(FullName))
|
||||
return;
|
||||
@ -58,12 +55,11 @@ void CompilandDumper::start(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
|
||||
auto ChildrenEnum = Symbol.findAllChildren();
|
||||
Printer.Indent();
|
||||
while (auto Child = ChildrenEnum->getNext())
|
||||
Child->dump(OS, Indent + 2, *this);
|
||||
Child->dump(*this);
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void CompilandDumper::dump(const PDBSymbolData &Symbol) {
|
||||
if (Printer.IsSymbolExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
@ -88,8 +84,7 @@ void CompilandDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void CompilandDumper::dump(const PDBSymbolFunc &Symbol) {
|
||||
if (Symbol.getLength() == 0)
|
||||
return;
|
||||
if (Printer.IsSymbolExcluded(Symbol.getName()))
|
||||
@ -97,11 +92,10 @@ void CompilandDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
|
||||
|
||||
Printer.NewLine();
|
||||
FunctionDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, FunctionDumper::PointerType::None, OS, Indent);
|
||||
Dumper.start(Symbol, FunctionDumper::PointerType::None);
|
||||
}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolLabel &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void CompilandDumper::dump(const PDBSymbolLabel &Symbol) {
|
||||
if (Printer.IsSymbolExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
@ -112,8 +106,7 @@ void CompilandDumper::dump(const PDBSymbolLabel &Symbol, raw_ostream &OS,
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolThunk &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void CompilandDumper::dump(const PDBSymbolThunk &Symbol) {
|
||||
if (Printer.IsSymbolExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
@ -137,11 +130,9 @@ void CompilandDumper::dump(const PDBSymbolThunk &Symbol, raw_ostream &OS,
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Name;
|
||||
}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {}
|
||||
void CompilandDumper::dump(const PDBSymbolTypeTypedef &Symbol) {}
|
||||
|
||||
void CompilandDumper::dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void CompilandDumper::dump(const PDBSymbolUnknown &Symbol) {
|
||||
Printer.NewLine();
|
||||
Printer << "unknown (" << Symbol.getSymTag() << ")";
|
||||
}
|
||||
|
@ -20,21 +20,16 @@ class CompilandDumper : public PDBSymDumper {
|
||||
public:
|
||||
CompilandDumper(LinePrinter &P);
|
||||
|
||||
void start(const PDBSymbolCompiland &Symbol, raw_ostream &OS, int Indent,
|
||||
bool Children);
|
||||
void start(const PDBSymbolCompiland &Symbol, bool Children);
|
||||
|
||||
void dump(const PDBSymbolCompilandDetails &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolData &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolFunc &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolLabel &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolThunk &Symbol, raw_ostream &OS, int Indent) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolCompilandDetails &Symbol) override;
|
||||
void dump(const PDBSymbolCompilandEnv &Symbol) override;
|
||||
void dump(const PDBSymbolData &Symbol) override;
|
||||
void dump(const PDBSymbolFunc &Symbol) override;
|
||||
void dump(const PDBSymbolLabel &Symbol) override;
|
||||
void dump(const PDBSymbolThunk &Symbol) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol) override;
|
||||
void dump(const PDBSymbolUnknown &Symbol) override;
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
|
@ -48,10 +48,9 @@ FunctionDumper::FunctionDumper(LinePrinter &P)
|
||||
: PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void FunctionDumper::start(const PDBSymbolTypeFunctionSig &Symbol,
|
||||
const char *Name, PointerType Pointer,
|
||||
raw_ostream &OS) {
|
||||
const char *Name, PointerType Pointer) {
|
||||
auto ReturnType = Symbol.getReturnType();
|
||||
ReturnType->dump(OS, 0, *this);
|
||||
ReturnType->dump(*this);
|
||||
Printer << " ";
|
||||
uint32_t ClassParentId = Symbol.getClassParentId();
|
||||
auto ClassParent =
|
||||
@ -96,7 +95,7 @@ void FunctionDumper::start(const PDBSymbolTypeFunctionSig &Symbol,
|
||||
if (auto ChildEnum = Symbol.getArguments()) {
|
||||
uint32_t Index = 0;
|
||||
while (auto Arg = ChildEnum->getNext()) {
|
||||
Arg->dump(OS, 0, *this);
|
||||
Arg->dump(*this);
|
||||
if (++Index < ChildEnum->getChildCount())
|
||||
Printer << ", ";
|
||||
}
|
||||
@ -109,8 +108,7 @@ void FunctionDumper::start(const PDBSymbolTypeFunctionSig &Symbol,
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << " volatile";
|
||||
}
|
||||
|
||||
void FunctionDumper::start(const PDBSymbolFunc &Symbol, PointerType Pointer,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void FunctionDumper::start(const PDBSymbolFunc &Symbol, PointerType Pointer) {
|
||||
uint32_t FuncStart = Symbol.getRelativeVirtualAddress();
|
||||
uint32_t FuncEnd = FuncStart + Symbol.getLength();
|
||||
|
||||
@ -150,7 +148,7 @@ void FunctionDumper::start(const PDBSymbolFunc &Symbol, PointerType Pointer,
|
||||
}
|
||||
|
||||
auto ReturnType = Signature->getReturnType();
|
||||
ReturnType->dump(OS, 0, *this);
|
||||
ReturnType->dump(*this);
|
||||
Printer << " ";
|
||||
|
||||
auto ClassParent = Symbol.getClassParent();
|
||||
@ -177,7 +175,7 @@ void FunctionDumper::start(const PDBSymbolFunc &Symbol, PointerType Pointer,
|
||||
uint32_t Index = 0;
|
||||
while (auto Arg = Arguments->getNext()) {
|
||||
auto ArgType = Arg->getType();
|
||||
ArgType->dump(OS, 0, *this);
|
||||
ArgType->dump(*this);
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << " "
|
||||
<< Arg->getName();
|
||||
if (++Index < Arguments->getChildCount())
|
||||
@ -193,50 +191,44 @@ void FunctionDumper::start(const PDBSymbolFunc &Symbol, PointerType Pointer,
|
||||
Printer << " = 0";
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeArray &Symbol) {
|
||||
uint32_t ElementTypeId = Symbol.getTypeId();
|
||||
auto ElementType = Symbol.getSession().getSymbolById(ElementTypeId);
|
||||
if (!ElementType)
|
||||
return;
|
||||
|
||||
ElementType->dump(OS, 0, *this);
|
||||
ElementType->dump(*this);
|
||||
Printer << "[";
|
||||
WithColor(Printer, PDB_ColorItem::LiteralValue).get() << Symbol.getLength();
|
||||
Printer << "]";
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
|
||||
BuiltinDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
dumpClassParentWithScopeOperator(Symbol, Printer, *this);
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeFunctionArg &Symbol,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
|
||||
// PDBSymbolTypeFunctionArg is just a shim over the real argument. Just drill
|
||||
// through to the real thing and dump it.
|
||||
uint32_t TypeId = Symbol.getTypeId();
|
||||
auto Type = Symbol.getSession().getSymbolById(TypeId);
|
||||
if (!Type)
|
||||
return;
|
||||
Type->dump(OS, 0, *this);
|
||||
Type->dump(*this);
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
|
||||
dumpClassParentWithScopeOperator(Symbol, Printer, *this);
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypePointer &Symbol) {
|
||||
uint32_t PointeeId = Symbol.getTypeId();
|
||||
auto PointeeType = Symbol.getSession().getSymbolById(PointeeId);
|
||||
if (!PointeeType)
|
||||
@ -246,18 +238,17 @@ void FunctionDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
FunctionDumper NestedDumper(Printer);
|
||||
PointerType Pointer =
|
||||
Symbol.isReference() ? PointerType::Reference : PointerType::Pointer;
|
||||
NestedDumper.start(*FuncSig, nullptr, Pointer, OS);
|
||||
NestedDumper.start(*FuncSig, nullptr, Pointer);
|
||||
} else {
|
||||
if (Symbol.isConstType())
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "const ";
|
||||
if (Symbol.isVolatileType())
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "volatile ";
|
||||
PointeeType->dump(OS, Indent, *this);
|
||||
OS << (Symbol.isReference() ? "&" : "*");
|
||||
PointeeType->dump(*this);
|
||||
Printer << (Symbol.isReference() ? "&" : "*");
|
||||
}
|
||||
}
|
||||
|
||||
void FunctionDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void FunctionDumper::dump(const PDBSymbolTypeUDT &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
@ -23,24 +23,16 @@ public:
|
||||
enum class PointerType { None, Pointer, Reference };
|
||||
|
||||
void start(const PDBSymbolTypeFunctionSig &Symbol, const char *Name,
|
||||
PointerType Pointer, raw_ostream &OS);
|
||||
void start(const PDBSymbolFunc &Symbol, PointerType Pointer, raw_ostream &OS,
|
||||
int Indent);
|
||||
PointerType Pointer);
|
||||
void start(const PDBSymbolFunc &Symbol, PointerType Pointer);
|
||||
|
||||
void dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeArray &Symbol) override;
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol) override;
|
||||
void dump(const PDBSymbolTypeFunctionArg &Symbol) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol) override;
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
|
@ -25,14 +25,14 @@ using namespace llvm;
|
||||
TypeDumper::TypeDumper(LinePrinter &P, bool ClassDefs)
|
||||
: PDBSymDumper(true), Printer(P), FullClassDefs(ClassDefs) {}
|
||||
|
||||
void TypeDumper::start(const PDBSymbolExe &Exe, raw_ostream &OS, int Indent) {
|
||||
void TypeDumper::start(const PDBSymbolExe &Exe) {
|
||||
auto Enums = Exe.findAllChildren<PDBSymbolTypeEnum>();
|
||||
Printer.NewLine();
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << "Enums";
|
||||
Printer << ": (" << Enums->getChildCount() << " items)";
|
||||
Printer.Indent();
|
||||
while (auto Enum = Enums->getNext())
|
||||
Enum->dump(OS, Indent + 2, *this);
|
||||
Enum->dump(*this);
|
||||
Printer.Unindent();
|
||||
|
||||
auto Typedefs = Exe.findAllChildren<PDBSymbolTypeTypedef>();
|
||||
@ -41,7 +41,7 @@ void TypeDumper::start(const PDBSymbolExe &Exe, raw_ostream &OS, int Indent) {
|
||||
Printer << ": (" << Typedefs->getChildCount() << " items)";
|
||||
Printer.Indent();
|
||||
while (auto Typedef = Typedefs->getNext())
|
||||
Typedef->dump(OS, Indent + 2, *this);
|
||||
Typedef->dump(*this);
|
||||
Printer.Unindent();
|
||||
|
||||
auto Classes = Exe.findAllChildren<PDBSymbolTypeUDT>();
|
||||
@ -50,12 +50,11 @@ void TypeDumper::start(const PDBSymbolExe &Exe, raw_ostream &OS, int Indent) {
|
||||
Printer << ": (" << Classes->getChildCount() << " items)";
|
||||
Printer.Indent();
|
||||
while (auto Class = Classes->getNext())
|
||||
Class->dump(OS, Indent + 2, *this);
|
||||
Class->dump(*this);
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
||||
void TypeDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypeDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
if (Symbol.getUnmodifiedTypeId() != 0)
|
||||
return;
|
||||
if (Printer.IsTypeExcluded(Symbol.getName()))
|
||||
@ -66,18 +65,16 @@ void TypeDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void TypeDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypeDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
|
||||
if (Printer.IsTypeExcluded(Symbol.getName()))
|
||||
return;
|
||||
|
||||
Printer.NewLine();
|
||||
TypedefDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS, Indent);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void TypeDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypeDumper::dump(const PDBSymbolTypeUDT &Symbol) {
|
||||
if (Symbol.getUnmodifiedTypeId() != 0)
|
||||
return;
|
||||
if (Printer.IsTypeExcluded(Symbol.getName()))
|
||||
@ -87,7 +84,7 @@ void TypeDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
|
||||
if (FullClassDefs) {
|
||||
ClassDefinitionDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS, Indent);
|
||||
Dumper.start(Symbol);
|
||||
} else {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "class ";
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Symbol.getName();
|
||||
|
@ -20,14 +20,11 @@ class TypeDumper : public PDBSymDumper {
|
||||
public:
|
||||
TypeDumper(LinePrinter &P, bool ClassDefs);
|
||||
|
||||
void start(const PDBSymbolExe &Exe, raw_ostream &OS, int Indent);
|
||||
void start(const PDBSymbolExe &Exe);
|
||||
|
||||
void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol) override;
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
|
@ -26,32 +26,27 @@ using namespace llvm;
|
||||
|
||||
TypedefDumper::TypedefDumper(LinePrinter &P) : PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void TypedefDumper::start(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypedefDumper::start(const PDBSymbolTypeTypedef &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "typedef ";
|
||||
uint32_t TargetId = Symbol.getTypeId();
|
||||
if (auto TypeSymbol = Symbol.getSession().getSymbolById(TargetId))
|
||||
TypeSymbol->dump(OS, 0, *this);
|
||||
TypeSymbol->dump(*this);
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << " " << Symbol.getName();
|
||||
}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent) {}
|
||||
void TypedefDumper::dump(const PDBSymbolTypeArray &Symbol) {}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypedefDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
|
||||
BuiltinDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypedefDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "enum ";
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << " " << Symbol.getName();
|
||||
}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypedefDumper::dump(const PDBSymbolTypePointer &Symbol) {
|
||||
if (Symbol.isConstType())
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "const ";
|
||||
if (Symbol.isVolatileType())
|
||||
@ -65,21 +60,19 @@ void TypedefDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
if (Symbol.isReference())
|
||||
Pointer = FunctionDumper::PointerType::Reference;
|
||||
FunctionDumper NestedDumper(Printer);
|
||||
NestedDumper.start(*FuncSig, nullptr, Pointer, OS);
|
||||
NestedDumper.start(*FuncSig, nullptr, Pointer);
|
||||
} else {
|
||||
PointeeType->dump(OS, Indent, *this);
|
||||
OS << ((Symbol.isReference()) ? "&" : "*");
|
||||
PointeeType->dump(*this);
|
||||
Printer << ((Symbol.isReference()) ? "&" : "*");
|
||||
}
|
||||
}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypeFunctionSig &Symbol,
|
||||
raw_ostream &OS, int Indent) {
|
||||
void TypedefDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
|
||||
FunctionDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, nullptr, FunctionDumper::PointerType::None, OS);
|
||||
Dumper.start(Symbol, nullptr, FunctionDumper::PointerType::None);
|
||||
}
|
||||
|
||||
void TypedefDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void TypedefDumper::dump(const PDBSymbolTypeUDT &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "class ";
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << " " << Symbol.getName();
|
||||
}
|
||||
|
@ -20,20 +20,14 @@ class TypedefDumper : public PDBSymDumper {
|
||||
public:
|
||||
TypedefDumper(LinePrinter &P);
|
||||
|
||||
void start(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS, int Indent);
|
||||
void start(const PDBSymbolTypeTypedef &Symbol);
|
||||
|
||||
void dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeArray &Symbol) override;
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol) override;
|
||||
void dump(const PDBSymbolTypeFunctionSig &Symbol) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol) override;
|
||||
|
||||
private:
|
||||
LinePrinter &Printer;
|
||||
|
@ -30,8 +30,7 @@ using namespace llvm;
|
||||
VariableDumper::VariableDumper(LinePrinter &P)
|
||||
: PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void VariableDumper::start(const PDBSymbolData &Var, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::start(const PDBSymbolData &Var) {
|
||||
if (Printer.IsSymbolExcluded(Var.getName()))
|
||||
return;
|
||||
|
||||
@ -45,11 +44,11 @@ void VariableDumper::start(const PDBSymbolData &Var, raw_ostream &OS,
|
||||
WithColor(Printer, PDB_ColorItem::Address).get()
|
||||
<< "[" << format_hex(Var.getRelativeVirtualAddress(), 10) << "] ";
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "static ";
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName(), OS);
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName());
|
||||
break;
|
||||
case PDB_LocType::Constant:
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "const ";
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName(), OS);
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName());
|
||||
Printer << "[";
|
||||
WithColor(Printer, PDB_ColorItem::LiteralValue).get() << Var.getValue();
|
||||
Printer << "]";
|
||||
@ -57,31 +56,27 @@ void VariableDumper::start(const PDBSymbolData &Var, raw_ostream &OS,
|
||||
case PDB_LocType::ThisRel:
|
||||
WithColor(Printer, PDB_ColorItem::Offset).get()
|
||||
<< "+" << format_hex(Var.getOffset(), 4) << " ";
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName(), OS);
|
||||
dumpSymbolTypeAndName(*VarType, Var.getName());
|
||||
break;
|
||||
default:
|
||||
OS << "unknown(" << LocType << ") ";
|
||||
Printer << "unknown(" << LocType << ") ";
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << Var.getName();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
|
||||
BuiltinDumper Dumper(Printer);
|
||||
Dumper.start(Symbol, OS);
|
||||
Dumper.start(Symbol);
|
||||
}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::dump(const PDBSymbolTypeEnum &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypeFunctionSig &Symbol,
|
||||
raw_ostream &OS, int Indent) {}
|
||||
void VariableDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::dump(const PDBSymbolTypePointer &Symbol) {
|
||||
auto PointeeType = Symbol.getPointeeType();
|
||||
if (!PointeeType)
|
||||
return;
|
||||
@ -91,30 +86,28 @@ void VariableDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
FunctionDumper::PointerType Pointer =
|
||||
Symbol.isReference() ? FunctionDumper::PointerType::Reference
|
||||
: FunctionDumper::PointerType::Pointer;
|
||||
NestedDumper.start(*Func, Pointer, OS, Indent);
|
||||
NestedDumper.start(*Func, Pointer);
|
||||
} else {
|
||||
if (Symbol.isConstType())
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "const ";
|
||||
if (Symbol.isVolatileType())
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "volatile ";
|
||||
PointeeType->dump(OS, Indent, *this);
|
||||
PointeeType->dump(*this);
|
||||
Printer << (Symbol.isReference() ? "&" : "*");
|
||||
}
|
||||
}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "typedef ";
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void VariableDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) {
|
||||
void VariableDumper::dump(const PDBSymbolTypeUDT &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
}
|
||||
|
||||
void VariableDumper::dumpSymbolTypeAndName(const PDBSymbol &Type,
|
||||
StringRef Name, raw_ostream &OS) {
|
||||
StringRef Name) {
|
||||
if (auto *ArrayType = dyn_cast<PDBSymbolTypeArray>(&Type)) {
|
||||
std::string IndexSpec;
|
||||
raw_string_ostream IndexStream(IndexSpec);
|
||||
@ -126,19 +119,19 @@ void VariableDumper::dumpSymbolTypeAndName(const PDBSymbol &Type,
|
||||
ElementType = NestedArray->getElementType();
|
||||
}
|
||||
IndexStream << "[" << ArrayType->getCount() << "]";
|
||||
ElementType->dump(OS, 0, *this);
|
||||
ElementType->dump(*this);
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << " " << Name;
|
||||
Printer << IndexStream.str();
|
||||
} else {
|
||||
if (!tryDumpFunctionPointer(Type, Name, OS)) {
|
||||
Type.dump(OS, 0, *this);
|
||||
if (!tryDumpFunctionPointer(Type, Name)) {
|
||||
Type.dump(*this);
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get() << " " << Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool VariableDumper::tryDumpFunctionPointer(const PDBSymbol &Type,
|
||||
StringRef Name, raw_ostream &OS) {
|
||||
StringRef Name) {
|
||||
// Function pointers come across as pointers to function signatures. But the
|
||||
// signature carries no name, so we have to handle this case separately.
|
||||
if (auto *PointerType = dyn_cast<PDBSymbolTypePointer>(&Type)) {
|
||||
@ -150,7 +143,7 @@ bool VariableDumper::tryDumpFunctionPointer(const PDBSymbol &Type,
|
||||
if (PointerType->isReference())
|
||||
PT = FunctionDumper::PointerType::Reference;
|
||||
std::string NameStr(Name.begin(), Name.end());
|
||||
Dumper.start(*FunctionSig, NameStr.c_str(), PT, OS);
|
||||
Dumper.start(*FunctionSig, NameStr.c_str(), PT);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -21,26 +21,18 @@ class VariableDumper : public PDBSymDumper {
|
||||
public:
|
||||
VariableDumper(LinePrinter &P);
|
||||
|
||||
void start(const PDBSymbolData &Var, raw_ostream &OS, int Indent);
|
||||
void start(const PDBSymbolData &Var);
|
||||
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
||||
int Indent) override;
|
||||
void dump(const PDBSymbolTypeBuiltin &Symbol) override;
|
||||
void dump(const PDBSymbolTypeEnum &Symbol) override;
|
||||
void dump(const PDBSymbolTypeFunctionSig &Symbol) override;
|
||||
void dump(const PDBSymbolTypePointer &Symbol) override;
|
||||
void dump(const PDBSymbolTypeTypedef &Symbol) override;
|
||||
void dump(const PDBSymbolTypeUDT &Symbol) override;
|
||||
|
||||
private:
|
||||
void dumpSymbolTypeAndName(const PDBSymbol &Type, StringRef Name,
|
||||
raw_ostream &OS);
|
||||
bool tryDumpFunctionPointer(const PDBSymbol &Type, StringRef Name,
|
||||
raw_ostream &OS);
|
||||
void dumpSymbolTypeAndName(const PDBSymbol &Type, StringRef Name);
|
||||
bool tryDumpFunctionPointer(const PDBSymbol &Type, StringRef Name);
|
||||
|
||||
LinePrinter &Printer;
|
||||
};
|
||||
|
@ -150,7 +150,7 @@ static void dumpInput(StringRef Path) {
|
||||
auto Compilands = GlobalScope->findAllChildren<PDBSymbolCompiland>();
|
||||
CompilandDumper Dumper(Printer);
|
||||
while (auto Compiland = Compilands->getNext())
|
||||
Dumper.start(*Compiland, outs(), 2, false);
|
||||
Dumper.start(*Compiland, false);
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
||||
@ -159,7 +159,7 @@ static void dumpInput(StringRef Path) {
|
||||
WithColor(Printer, PDB_ColorItem::SectionHeader).get() << "---TYPES---";
|
||||
Printer.Indent();
|
||||
TypeDumper Dumper(Printer, opts::ClassDefs);
|
||||
Dumper.start(*GlobalScope, outs(), 2);
|
||||
Dumper.start(*GlobalScope);
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ static void dumpInput(StringRef Path) {
|
||||
auto Compilands = GlobalScope->findAllChildren<PDBSymbolCompiland>();
|
||||
CompilandDumper Dumper(Printer);
|
||||
while (auto Compiland = Compilands->getNext())
|
||||
Dumper.start(*Compiland, outs(), 2, true);
|
||||
Dumper.start(*Compiland, true);
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
||||
@ -183,20 +183,20 @@ static void dumpInput(StringRef Path) {
|
||||
auto Functions = GlobalScope->findAllChildren<PDBSymbolFunc>();
|
||||
while (auto Function = Functions->getNext()) {
|
||||
Printer.NewLine();
|
||||
Dumper.start(*Function, FunctionDumper::PointerType::None, outs(), 2);
|
||||
Dumper.start(*Function, FunctionDumper::PointerType::None);
|
||||
}
|
||||
}
|
||||
{
|
||||
auto Vars = GlobalScope->findAllChildren<PDBSymbolData>();
|
||||
VariableDumper Dumper(Printer);
|
||||
while (auto Var = Vars->getNext())
|
||||
Dumper.start(*Var, outs(), 2);
|
||||
Dumper.start(*Var);
|
||||
}
|
||||
{
|
||||
auto Thunks = GlobalScope->findAllChildren<PDBSymbolThunk>();
|
||||
CompilandDumper Dumper(Printer);
|
||||
while (auto Thunk = Thunks->getNext())
|
||||
Dumper.dump(*Thunk, outs(), 2);
|
||||
Dumper.dump(*Thunk);
|
||||
}
|
||||
Printer.Unindent();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user