SymbolizableModule.h [plain text]
#ifndef LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
#define LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H
#include "llvm/DebugInfo/DIContext.h"
#include <memory>
#include <string>
namespace llvm {
namespace object {
class ObjectFile;
}
}
namespace llvm {
namespace symbolize {
using FunctionNameKind = DILineInfoSpecifier::FunctionNameKind;
class SymbolizableModule {
public:
virtual ~SymbolizableModule() {}
virtual DILineInfo symbolizeCode(uint64_t ModuleOffset,
FunctionNameKind FNKind,
bool UseSymbolTable) const = 0;
virtual DIInliningInfo symbolizeInlinedCode(uint64_t ModuleOffset,
FunctionNameKind FNKind,
bool UseSymbolTable) const = 0;
virtual DIGlobal symbolizeData(uint64_t ModuleOffset) const = 0;
virtual bool isWin32Module() const = 0;
virtual uint64_t getModulePreferredBase() const = 0;
};
} }
#endif // LLVM_DEBUGINFO_SYMBOLIZE_SYMBOLIZABLEMODULE_H