LLVM  8.0.1
SymbolizableModule.h
Go to the documentation of this file.
1 //===- SymbolizableModule.h -------------------------------------*- 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 // This file declares the SymbolizableModule interface.
11 //
12 //===----------------------------------------------------------------------===//
13 #ifndef LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
14 #define LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
15 
17 #include <cstdint>
18 
19 namespace llvm {
20 namespace symbolize {
21 
23 
25 public:
26  virtual ~SymbolizableModule() = default;
27 
28  virtual DILineInfo symbolizeCode(uint64_t ModuleOffset,
29  FunctionNameKind FNKind,
30  bool UseSymbolTable) const = 0;
31  virtual DIInliningInfo symbolizeInlinedCode(uint64_t ModuleOffset,
32  FunctionNameKind FNKind,
33  bool UseSymbolTable) const = 0;
34  virtual DIGlobal symbolizeData(uint64_t ModuleOffset) const = 0;
35 
36  // Return true if this is a 32-bit x86 PE COFF module.
37  virtual bool isWin32Module() const = 0;
38 
39  // Returns the preferred base of the module, i.e. where the loader would place
40  // it in memory assuming there were no conflicts.
41  virtual uint64_t getModulePreferredBase() const = 0;
42 };
43 
44 } // end namespace symbolize
45 } // end namespace llvm
46 
47 #endif // LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
This class represents lattice values for constants.
Definition: AllocatorList.h:24
virtual DIGlobal symbolizeData(uint64_t ModuleOffset) const =0
virtual DILineInfo symbolizeCode(uint64_t ModuleOffset, FunctionNameKind FNKind, bool UseSymbolTable) const =0
DINameKind
A DINameKind is passed to name search methods to specify a preference regarding the type of name reso...
Definition: DIContext.h:119
virtual bool isWin32Module() const =0
A format-neutral container for source line information.
Definition: DIContext.h:31
virtual DIInliningInfo symbolizeInlinedCode(uint64_t ModuleOffset, FunctionNameKind FNKind, bool UseSymbolTable) const =0
A format-neutral container for inlined code description.
Definition: DIContext.h:78
virtual uint64_t getModulePreferredBase() const =0
DINameKind FunctionNameKind
Definition: DIContext.h:125
Container for description of a global variable.
Definition: DIContext.h:109