1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

[llvm-pdbdump] Clean up method signatures.

llvm-svn: 230889
This commit is contained in:
Zachary Turner 2015-03-01 06:51:29 +00:00
parent fa3f27076b
commit bc938afb61
80 changed files with 295 additions and 484 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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);

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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;

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 ||

View File

@ -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)

View File

@ -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)
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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); }

View File

@ -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); }

View File

@ -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); }

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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); }

View File

@ -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);
}

View File

@ -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:

View File

@ -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;

View File

@ -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) {}

View File

@ -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);
};
}

View File

@ -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() << ")";
}

View File

@ -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;

View File

@ -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();
}

View File

@ -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;

View File

@ -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();

View File

@ -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;

View File

@ -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();
}

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;
};

View File

@ -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();
}