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