mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-03 15:36:21 +00:00
395adf9f89
This increases the flexibility of how to dump different symbol types -- necessary for context-sensitive formatting of symbol types -- and also improves the modularity by allowing the dumping to be implemented in the actual dumper, as opposed to in the PDB library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230184 91177308-0d34-0410-b5e6-96231b3b80d8
178 lines
5.8 KiB
C++
178 lines
5.8 KiB
C++
//===- PDBSymDumper.cpp - ---------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
|
|
#include "llvm/Support/ErrorHandling.h"
|
|
|
|
using namespace llvm;
|
|
|
|
#define PDB_SYMDUMP_UNREACHABLE(Type) \
|
|
if (RequireImpl) \
|
|
llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
|
|
|
|
PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
|
|
: RequireImpl(ShouldRequireImpl) {}
|
|
|
|
PDBSymDumper::~PDBSymDumper() {}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolBlock &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol,
|
|
raw_ostream &OS, int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolCustom &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolExe &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolLabel &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolThunk &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
|
|
}
|
|
|
|
void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol, raw_ostream &OS,
|
|
int Indent) {
|
|
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
|
|
}
|