LLVM
20.0.0git
lib
DebugInfo
PDB
PDBSymDumper.cpp
Go to the documentation of this file.
1
//===- PDBSymDumper.cpp - ---------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "
llvm/DebugInfo/PDB/PDBSymDumper.h
"
10
#include "
llvm/Support/ErrorHandling.h
"
11
12
using namespace
llvm
;
13
using namespace
llvm::pdb
;
14
15
#define PDB_SYMDUMP_UNREACHABLE(Type) \
16
if (RequireImpl) \
17
llvm_unreachable("Attempt to dump "
#Type " with no dump implementation");
18
19
PDBSymDumper::PDBSymDumper
(
bool
ShouldRequireImpl)
20
: RequireImpl(ShouldRequireImpl) {}
21
22
PDBSymDumper::~PDBSymDumper
() =
default
;
23
24
void
PDBSymDumper::dump
(
const
PDBSymbolAnnotation
&Symbol) {
25
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolAnnotation
)
26
}
27
28
void
PDBSymDumper::dump
(
const
PDBSymbolBlock
&Symbol) {
29
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolBlock
)
30
}
31
32
void
PDBSymDumper::dump
(
const
PDBSymbolCompiland
&Symbol) {
33
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolCompiland
)
34
}
35
36
void
PDBSymDumper::dump
(
const
PDBSymbolCompilandDetails
&Symbol) {
37
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolCompilandDetails
)
38
}
39
40
void
PDBSymDumper::dump
(
const
PDBSymbolCompilandEnv
&Symbol) {
41
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolCompilandEnv
)
42
}
43
44
void
PDBSymDumper::dump
(
const
PDBSymbolCustom
&Symbol) {
45
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolCustom
)
46
}
47
48
void
PDBSymDumper::dump
(
const
PDBSymbolData
&Symbol) {
49
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolData
)
50
}
51
52
void
PDBSymDumper::dump
(
const
PDBSymbolExe
&Symbol) {
53
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolExe
)
54
}
55
56
void
PDBSymDumper::dump
(
const
PDBSymbolFunc
&Symbol) {
57
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolFunc
)
58
}
59
60
void
PDBSymDumper::dump
(
const
PDBSymbolFuncDebugEnd
&Symbol) {
61
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolFuncDebugEnd
)
62
}
63
64
void
PDBSymDumper::dump
(
const
PDBSymbolFuncDebugStart
&Symbol) {
65
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolFuncDebugStart
)
66
}
67
68
void
PDBSymDumper::dump
(
const
PDBSymbolLabel
&Symbol) {
69
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolLabel
)
70
}
71
72
void
PDBSymDumper::dump
(
const
PDBSymbolPublicSymbol
&Symbol) {
73
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolPublicSymbol
)
74
}
75
76
void
PDBSymDumper::dump
(
const
PDBSymbolThunk
&Symbol) {
77
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolThunk
)
78
}
79
80
void
PDBSymDumper::dump
(
const
PDBSymbolTypeArray
&Symbol) {
81
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeArray
)
82
}
83
84
void
PDBSymDumper::dump
(
const
PDBSymbolTypeBaseClass
&Symbol) {
85
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeBaseClass
)
86
}
87
88
void
PDBSymDumper::dump
(
const
PDBSymbolTypeBuiltin
&Symbol) {
89
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeBuiltin
)
90
}
91
92
void
PDBSymDumper::dump
(
const
PDBSymbolTypeCustom
&Symbol) {
93
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeCustom
)
94
}
95
96
void
PDBSymDumper::dump
(
const
PDBSymbolTypeDimension
&Symbol) {
97
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeDimension
)
98
}
99
100
void
PDBSymDumper::dump
(
const
PDBSymbolTypeEnum
&Symbol) {
101
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeEnum
)
102
}
103
104
void
PDBSymDumper::dump
(
const
PDBSymbolTypeFriend
&Symbol) {
105
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeFriend
)
106
}
107
108
void
PDBSymDumper::dump
(
const
PDBSymbolTypeFunctionArg
&Symbol) {
109
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeFunctionArg
)
110
}
111
112
void
PDBSymDumper::dump
(
const
PDBSymbolTypeFunctionSig
&Symbol) {
113
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeFunctionSig
)
114
}
115
116
void
PDBSymDumper::dump
(
const
PDBSymbolTypeManaged
&Symbol) {
117
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeManaged
)
118
}
119
120
void
PDBSymDumper::dump
(
const
PDBSymbolTypePointer
&Symbol) {
121
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypePointer
)
122
}
123
124
void
PDBSymDumper::dump
(
const
PDBSymbolTypeTypedef
&Symbol) {
125
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeTypedef
)
126
}
127
128
void
PDBSymDumper::dump
(
const
PDBSymbolTypeUDT
&Symbol) {
129
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeUDT
)
130
}
131
132
void
PDBSymDumper::dump
(
const
PDBSymbolTypeVTable
&Symbol) {
133
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeVTable
)
134
}
135
136
void
PDBSymDumper::dump
(
const
PDBSymbolTypeVTableShape
&Symbol) {
137
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolTypeVTableShape
)
138
}
139
140
void
PDBSymDumper::dump
(
const
PDBSymbolUnknown
&Symbol) {
141
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolUnknown
)
142
}
143
144
void
PDBSymDumper::dump
(
const
PDBSymbolUsingNamespace
&Symbol) {
145
PDB_SYMDUMP_UNREACHABLE
(
PDBSymbolUsingNamespace
)
146
}
PDB_SYMDUMP_UNREACHABLE
#define PDB_SYMDUMP_UNREACHABLE(Type)
Definition:
PDBSymDumper.cpp:15
PDBSymDumper.h
llvm::pdb::PDBSymDumper::dump
virtual void dump(const PDBSymbolAnnotation &Symbol)
Definition:
PDBSymDumper.cpp:24
llvm::pdb::PDBSymDumper::PDBSymDumper
PDBSymDumper(bool ShouldRequireImpl)
Definition:
PDBSymDumper.cpp:19
llvm::pdb::PDBSymDumper::~PDBSymDumper
virtual ~PDBSymDumper()
llvm::pdb::PDBSymbolAnnotation
Definition:
PDBSymbolAnnotation.h:18
llvm::pdb::PDBSymbolBlock
Definition:
PDBSymbolBlock.h:18
llvm::pdb::PDBSymbolCompilandDetails
Definition:
PDBSymbolCompilandDetails.h:19
llvm::pdb::PDBSymbolCompilandEnv
Definition:
PDBSymbolCompilandEnv.h:18
llvm::pdb::PDBSymbolCompiland
Definition:
PDBSymbolCompiland.h:21
llvm::pdb::PDBSymbolCustom
PDBSymbolCustom represents symbols that are compiler-specific and do not fit anywhere else in the lex...
Definition:
PDBSymbolCustom.h:22
llvm::pdb::PDBSymbolData
Definition:
PDBSymbolData.h:22
llvm::pdb::PDBSymbolExe
Definition:
PDBSymbolExe.h:21
llvm::pdb::PDBSymbolFuncDebugEnd
Definition:
PDBSymbolFuncDebugEnd.h:19
llvm::pdb::PDBSymbolFuncDebugStart
Definition:
PDBSymbolFuncDebugStart.h:19
llvm::pdb::PDBSymbolFunc
Definition:
PDBSymbolFunc.h:26
llvm::pdb::PDBSymbolLabel
Definition:
PDBSymbolLabel.h:19
llvm::pdb::PDBSymbolPublicSymbol
Definition:
PDBSymbolPublicSymbol.h:19
llvm::pdb::PDBSymbolThunk
Definition:
PDBSymbolThunk.h:19
llvm::pdb::PDBSymbolTypeArray
Definition:
PDBSymbolTypeArray.h:19
llvm::pdb::PDBSymbolTypeBaseClass
Definition:
PDBSymbolTypeBaseClass.h:23
llvm::pdb::PDBSymbolTypeBuiltin
Definition:
PDBSymbolTypeBuiltin.h:19
llvm::pdb::PDBSymbolTypeCustom
Definition:
PDBSymbolTypeCustom.h:19
llvm::pdb::PDBSymbolTypeDimension
Definition:
PDBSymbolTypeDimension.h:19
llvm::pdb::PDBSymbolTypeEnum
Definition:
PDBSymbolTypeEnum.h:24
llvm::pdb::PDBSymbolTypeFriend
Definition:
PDBSymbolTypeFriend.h:19
llvm::pdb::PDBSymbolTypeFunctionArg
Definition:
PDBSymbolTypeFunctionArg.h:19
llvm::pdb::PDBSymbolTypeFunctionSig
Definition:
PDBSymbolTypeFunctionSig.h:20
llvm::pdb::PDBSymbolTypeManaged
Definition:
PDBSymbolTypeManaged.h:19
llvm::pdb::PDBSymbolTypePointer
Definition:
PDBSymbolTypePointer.h:19
llvm::pdb::PDBSymbolTypeTypedef
Definition:
PDBSymbolTypeTypedef.h:19
llvm::pdb::PDBSymbolTypeUDT
Definition:
PDBSymbolTypeUDT.h:23
llvm::pdb::PDBSymbolTypeVTableShape
Definition:
PDBSymbolTypeVTableShape.h:19
llvm::pdb::PDBSymbolTypeVTable
Definition:
PDBSymbolTypeVTable.h:19
llvm::pdb::PDBSymbolUnknown
Definition:
PDBSymbolUnknown.h:18
llvm::pdb::PDBSymbolUsingNamespace
Definition:
PDBSymbolUsingNamespace.h:19
ErrorHandling.h
llvm::pdb
Definition:
LVCodeViewReader.h:44
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Thu Dec 5 2024 05:54:32 for LLVM by
1.9.6