Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===- PDBSymbolExe.h - Accessors for querying executables in a PDB ----*-===//
  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. #ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  10. #define LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  11.  
  12. #include "PDBSymbol.h"
  13. #include "PDBTypes.h"
  14.  
  15. namespace llvm {
  16.  
  17. class raw_ostream;
  18.  
  19. namespace pdb {
  20.  
  21. class PDBSymbolExe : public PDBSymbol {
  22.   DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Exe)
  23. public:
  24.   void dump(PDBSymDumper &Dumper) const override;
  25.  
  26.   FORWARD_SYMBOL_METHOD(getAge)
  27.   FORWARD_SYMBOL_METHOD(getGuid)
  28.   FORWARD_SYMBOL_METHOD(hasCTypes)
  29.   FORWARD_SYMBOL_METHOD(hasPrivateSymbols)
  30.   FORWARD_SYMBOL_METHOD(getMachineType)
  31.   FORWARD_SYMBOL_METHOD(getName)
  32.   FORWARD_SYMBOL_METHOD(getSignature)
  33.   FORWARD_SYMBOL_METHOD(getSymbolsFileName)
  34.  
  35.   uint32_t getPointerByteSize() const;
  36.  
  37. private:
  38.   void dumpChildren(raw_ostream &OS, StringRef Label, PDB_SymType ChildType,
  39.                     int Indent) const;
  40. };
  41. } // namespace pdb
  42. } // namespace llvm
  43.  
  44. #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLEXE_H
  45.