Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- NativeExeSymbol.h - native impl for PDBSymbolExe ---------*- C++ -*-===//
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_NATIVE_NATIVEEXESYMBOL_H
10
#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEEXESYMBOL_H
11
 
12
#include "llvm/DebugInfo/CodeView/GUID.h"
13
#include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
14
#include "llvm/DebugInfo/PDB/PDBTypes.h"
15
 
16
namespace llvm {
17
namespace pdb {
18
 
19
class NativeSession;
20
 
21
class DbiStream;
22
 
23
class NativeExeSymbol : public NativeRawSymbol {
24
  // EXE symbol is the authority on the various symbol types.
25
  DbiStream *Dbi = nullptr;
26
 
27
public:
28
  NativeExeSymbol(NativeSession &Session, SymIndexId Id);
29
 
30
  std::unique_ptr<IPDBEnumSymbols>
31
  findChildren(PDB_SymType Type) const override;
32
 
33
  uint32_t getAge() const override;
34
  std::string getSymbolsFileName() const override;
35
  codeview::GUID getGuid() const override;
36
  bool hasCTypes() const override;
37
  bool hasPrivateSymbols() const override;
38
};
39
 
40
} // namespace pdb
41
} // namespace llvm
42
 
43
#endif