Line data Source code
1 : //===- NativeExeSymbol.h - native impl for PDBSymbolExe ---------*- 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 :
10 : #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVEEXESYMBOL_H
11 : #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEEXESYMBOL_H
12 :
13 : #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
14 : #include "llvm/DebugInfo/PDB/Native/NativeSession.h"
15 :
16 : namespace llvm {
17 : namespace pdb {
18 :
19 16 : class NativeExeSymbol : public NativeRawSymbol {
20 : public:
21 : NativeExeSymbol(NativeSession &Session, SymIndexId SymbolId);
22 :
23 : std::unique_ptr<NativeRawSymbol> clone() const override;
24 :
25 : std::unique_ptr<IPDBEnumSymbols>
26 : findChildren(PDB_SymType Type) const override;
27 :
28 : uint32_t getAge() const override;
29 : std::string getSymbolsFileName() const override;
30 : codeview::GUID getGuid() const override;
31 : bool hasCTypes() const override;
32 : bool hasPrivateSymbols() const override;
33 :
34 : private:
35 : PDBFile &File;
36 : };
37 :
38 : } // namespace pdb
39 : } // namespace llvm
40 :
41 : #endif
|