PDBSymDumper.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //===- PDBSymDumper.h - base interface for PDB symbol dumper *- 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. #ifndef LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H
  10. #define LLVM_DEBUGINFO_PDB_PDBSYMDUMPER_H
  11. #include "PDBTypes.h"
  12. namespace llvm {
  13. class raw_ostream;
  14. class PDBSymDumper {
  15. public:
  16. PDBSymDumper(bool ShouldRequireImpl);
  17. virtual ~PDBSymDumper();
  18. virtual void dump(const PDBSymbolAnnotation &Symbol);
  19. virtual void dump(const PDBSymbolBlock &Symbol);
  20. virtual void dump(const PDBSymbolCompiland &Symbol);
  21. virtual void dump(const PDBSymbolCompilandDetails &Symbol);
  22. virtual void dump(const PDBSymbolCompilandEnv &Symbol);
  23. virtual void dump(const PDBSymbolCustom &Symbol);
  24. virtual void dump(const PDBSymbolData &Symbol);
  25. virtual void dump(const PDBSymbolExe &Symbol);
  26. virtual void dump(const PDBSymbolFunc &Symbol);
  27. virtual void dump(const PDBSymbolFuncDebugEnd &Symbol);
  28. virtual void dump(const PDBSymbolFuncDebugStart &Symbol);
  29. virtual void dump(const PDBSymbolLabel &Symbol);
  30. virtual void dump(const PDBSymbolPublicSymbol &Symbol);
  31. virtual void dump(const PDBSymbolThunk &Symbol);
  32. virtual void dump(const PDBSymbolTypeArray &Symbol);
  33. virtual void dump(const PDBSymbolTypeBaseClass &Symbol);
  34. virtual void dump(const PDBSymbolTypeBuiltin &Symbol);
  35. virtual void dump(const PDBSymbolTypeCustom &Symbol);
  36. virtual void dump(const PDBSymbolTypeDimension &Symbol);
  37. virtual void dump(const PDBSymbolTypeEnum &Symbol);
  38. virtual void dump(const PDBSymbolTypeFriend &Symbol);
  39. virtual void dump(const PDBSymbolTypeFunctionArg &Symbol);
  40. virtual void dump(const PDBSymbolTypeFunctionSig &Symbol);
  41. virtual void dump(const PDBSymbolTypeManaged &Symbol);
  42. virtual void dump(const PDBSymbolTypePointer &Symbol);
  43. virtual void dump(const PDBSymbolTypeTypedef &Symbol);
  44. virtual void dump(const PDBSymbolTypeUDT &Symbol);
  45. virtual void dump(const PDBSymbolTypeVTable &Symbol);
  46. virtual void dump(const PDBSymbolTypeVTableShape &Symbol);
  47. virtual void dump(const PDBSymbolUnknown &Symbol);
  48. virtual void dump(const PDBSymbolUsingNamespace &Symbol);
  49. private:
  50. bool RequireImpl;
  51. };
  52. }
  53. #endif