reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | //===- PDBSymDumper.h - base interface for PDB symbol dumper *- C++ -----*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H #define LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H #include "PDBTypes.h" namespace llvm { class raw_ostream; namespace pdb { class PDBSymDumper { public: PDBSymDumper(bool ShouldRequireImpl); virtual ~PDBSymDumper(); 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); virtual void dumpRight(const PDBSymbolTypeArray &Symbol) {} virtual void dumpRight(const PDBSymbolTypeBaseClass &Symbol) {} virtual void dumpRight(const PDBSymbolTypeBuiltin &Symbol) {} virtual void dumpRight(const PDBSymbolTypeCustom &Symbol) {} virtual void dumpRight(const PDBSymbolTypeDimension &Symbol) {} virtual void dumpRight(const PDBSymbolTypeEnum &Symbol) {} virtual void dumpRight(const PDBSymbolTypeFriend &Symbol) {} virtual void dumpRight(const PDBSymbolTypeFunctionArg &Symbol) {} virtual void dumpRight(const PDBSymbolTypeFunctionSig &Symbol) {} virtual void dumpRight(const PDBSymbolTypeManaged &Symbol) {} virtual void dumpRight(const PDBSymbolTypePointer &Symbol) {} virtual void dumpRight(const PDBSymbolTypeTypedef &Symbol) {} virtual void dumpRight(const PDBSymbolTypeUDT &Symbol) {} virtual void dumpRight(const PDBSymbolTypeVTable &Symbol) {} virtual void dumpRight(const PDBSymbolTypeVTableShape &Symbol) {} private: bool RequireImpl; }; } } #endif |