1 //===- PDBSymDumper.h - base interface for PDB symbol dumper *- C++ -----*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H
10 #define LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H
21 PDBSymDumper(bool ShouldRequireImpl
);
22 virtual ~PDBSymDumper();
24 virtual void dump(const PDBSymbolAnnotation
&Symbol
);
25 virtual void dump(const PDBSymbolBlock
&Symbol
);
26 virtual void dump(const PDBSymbolCompiland
&Symbol
);
27 virtual void dump(const PDBSymbolCompilandDetails
&Symbol
);
28 virtual void dump(const PDBSymbolCompilandEnv
&Symbol
);
29 virtual void dump(const PDBSymbolCustom
&Symbol
);
30 virtual void dump(const PDBSymbolData
&Symbol
);
31 virtual void dump(const PDBSymbolExe
&Symbol
);
32 virtual void dump(const PDBSymbolFunc
&Symbol
);
33 virtual void dump(const PDBSymbolFuncDebugEnd
&Symbol
);
34 virtual void dump(const PDBSymbolFuncDebugStart
&Symbol
);
35 virtual void dump(const PDBSymbolLabel
&Symbol
);
36 virtual void dump(const PDBSymbolPublicSymbol
&Symbol
);
37 virtual void dump(const PDBSymbolThunk
&Symbol
);
38 virtual void dump(const PDBSymbolTypeArray
&Symbol
);
39 virtual void dump(const PDBSymbolTypeBaseClass
&Symbol
);
40 virtual void dump(const PDBSymbolTypeBuiltin
&Symbol
);
41 virtual void dump(const PDBSymbolTypeCustom
&Symbol
);
42 virtual void dump(const PDBSymbolTypeDimension
&Symbol
);
43 virtual void dump(const PDBSymbolTypeEnum
&Symbol
);
44 virtual void dump(const PDBSymbolTypeFriend
&Symbol
);
45 virtual void dump(const PDBSymbolTypeFunctionArg
&Symbol
);
46 virtual void dump(const PDBSymbolTypeFunctionSig
&Symbol
);
47 virtual void dump(const PDBSymbolTypeManaged
&Symbol
);
48 virtual void dump(const PDBSymbolTypePointer
&Symbol
);
49 virtual void dump(const PDBSymbolTypeTypedef
&Symbol
);
50 virtual void dump(const PDBSymbolTypeUDT
&Symbol
);
51 virtual void dump(const PDBSymbolTypeVTable
&Symbol
);
52 virtual void dump(const PDBSymbolTypeVTableShape
&Symbol
);
53 virtual void dump(const PDBSymbolUnknown
&Symbol
);
54 virtual void dump(const PDBSymbolUsingNamespace
&Symbol
);
56 virtual void dumpRight(const PDBSymbolTypeArray
&Symbol
) {}
57 virtual void dumpRight(const PDBSymbolTypeBaseClass
&Symbol
) {}
58 virtual void dumpRight(const PDBSymbolTypeBuiltin
&Symbol
) {}
59 virtual void dumpRight(const PDBSymbolTypeCustom
&Symbol
) {}
60 virtual void dumpRight(const PDBSymbolTypeDimension
&Symbol
) {}
61 virtual void dumpRight(const PDBSymbolTypeEnum
&Symbol
) {}
62 virtual void dumpRight(const PDBSymbolTypeFriend
&Symbol
) {}
63 virtual void dumpRight(const PDBSymbolTypeFunctionArg
&Symbol
) {}
64 virtual void dumpRight(const PDBSymbolTypeFunctionSig
&Symbol
) {}
65 virtual void dumpRight(const PDBSymbolTypeManaged
&Symbol
) {}
66 virtual void dumpRight(const PDBSymbolTypePointer
&Symbol
) {}
67 virtual void dumpRight(const PDBSymbolTypeTypedef
&Symbol
) {}
68 virtual void dumpRight(const PDBSymbolTypeUDT
&Symbol
) {}
69 virtual void dumpRight(const PDBSymbolTypeVTable
&Symbol
) {}
70 virtual void dumpRight(const PDBSymbolTypeVTableShape
&Symbol
) {}