Line data Source code
1 : //===- PDBSymDumper.cpp - ---------------------------------------*- C++ -*-===//
2 : //
3 : // The LLVM Compiler Infrastructure
4 : //
5 : // This file is distributed under the University of Illinois Open Source
6 : // License. See LICENSE.TXT for details.
7 : //
8 : //===----------------------------------------------------------------------===//
9 :
10 : #include "llvm/DebugInfo/PDB/PDBSymDumper.h"
11 : #include "llvm/Support/ErrorHandling.h"
12 :
13 : using namespace llvm;
14 : using namespace llvm::pdb;
15 :
16 : #define PDB_SYMDUMP_UNREACHABLE(Type) \
17 : if (RequireImpl) \
18 : llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
19 :
20 238 : PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
21 238 : : RequireImpl(ShouldRequireImpl) {}
22 :
23 : PDBSymDumper::~PDBSymDumper() = default;
24 :
25 0 : void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
26 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
27 0 : }
28 :
29 0 : void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
30 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
31 0 : }
32 :
33 0 : void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
34 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
35 0 : }
36 :
37 0 : void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
38 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
39 0 : }
40 :
41 0 : void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
42 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
43 0 : }
44 :
45 0 : void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
46 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
47 0 : }
48 :
49 0 : void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
50 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
51 0 : }
52 :
53 0 : void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
54 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
55 0 : }
56 :
57 0 : void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
58 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
59 0 : }
60 :
61 0 : void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
62 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
63 0 : }
64 :
65 0 : void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
66 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
67 0 : }
68 :
69 0 : void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
70 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
71 0 : }
72 :
73 0 : void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
74 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
75 0 : }
76 :
77 0 : void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
78 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
79 0 : }
80 :
81 0 : void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
82 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
83 0 : }
84 :
85 0 : void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
86 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
87 0 : }
88 :
89 0 : void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
90 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
91 0 : }
92 :
93 0 : void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
94 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
95 0 : }
96 :
97 0 : void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
98 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
99 0 : }
100 :
101 0 : void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
102 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
103 0 : }
104 :
105 0 : void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
106 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
107 0 : }
108 :
109 0 : void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
110 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
111 0 : }
112 :
113 0 : void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
114 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
115 0 : }
116 :
117 0 : void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
118 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
119 0 : }
120 :
121 0 : void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
122 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
123 0 : }
124 :
125 0 : void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
126 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
127 0 : }
128 :
129 0 : void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
130 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
131 0 : }
132 :
133 0 : void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
134 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
135 0 : }
136 :
137 0 : void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
138 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
139 0 : }
140 :
141 0 : void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
142 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
143 0 : }
144 :
145 0 : void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
146 0 : PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
147 0 : }
|