PDBSymbolExe.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #ifdef __GNUC__
  3. #pragma GCC diagnostic push
  4. #pragma GCC diagnostic ignored "-Wunused-parameter"
  5. #endif
  6. //===- PDBSymbolExe.h - Accessors for querying executables in a PDB ----*-===//
  7. //
  8. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  9. // See https://llvm.org/LICENSE.txt for license information.
  10. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  14. #define LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  15. #include "PDBSymbol.h"
  16. #include "PDBTypes.h"
  17. namespace llvm {
  18. class raw_ostream;
  19. namespace pdb {
  20. class PDBSymbolExe : public PDBSymbol {
  21. DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Exe)
  22. public:
  23. void dump(PDBSymDumper &Dumper) const override;
  24. FORWARD_SYMBOL_METHOD(getAge)
  25. FORWARD_SYMBOL_METHOD(getGuid)
  26. FORWARD_SYMBOL_METHOD(hasCTypes)
  27. FORWARD_SYMBOL_METHOD(hasPrivateSymbols)
  28. FORWARD_SYMBOL_METHOD(getMachineType)
  29. FORWARD_SYMBOL_METHOD(getName)
  30. FORWARD_SYMBOL_METHOD(getSignature)
  31. FORWARD_SYMBOL_METHOD(getSymbolsFileName)
  32. uint32_t getPointerByteSize() const;
  33. private:
  34. void dumpChildren(raw_ostream &OS, StringRef Label, PDB_SymType ChildType,
  35. int Indent) const;
  36. };
  37. } // namespace pdb
  38. } // namespace llvm
  39. #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  40. #ifdef __GNUC__
  41. #pragma GCC diagnostic pop
  42. #endif