9#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARFDWO_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARFDWO_H
24 bool isA(
const void *ClassID)
const override {
38 llvm::function_ref<
bool(
DWARFDIE die)> callback)
override;
40 llvm::Expected<lldb::TypeSystemSP>
48 const uint8_t op)
const override;
54 std::vector<Value> &stack)
const override;
77 llvm::DenseMap<lldb::opaque_compiler_type_t, DIERef> &
87 bool must_be_implementation)
override;
Represents a generic declaration context in a program.
A uniqued constant string class.
Provides public interface for all SymbolFiles.
virtual bool isA(const void *ClassID) const
LLVM RTTI support.
Identifies a DWARF debug info entry within a given Module.
llvm::DenseMap< lldb::opaque_compiler_type_t, DIERef > & GetForwardDeclCompilerTypeToDIE() override
bool GetDebugInfoIndexWasSavedToCache() const override
bool GetDebugInfoIndexWasLoadedFromCache() const override
Accessors for the bool that indicates if the debug info index was loaded from, or saved to the module...
void SetDebugInfoIndexWasLoadedFromCache() override
UniqueDWARFASTTypeMap & GetUniqueDWARFASTTypeMap() override
uint64_t GetDebugInfoSize(bool load_all_debug_info=false) override
Metrics gathering functions.
void SetDebugInfoIndexWasSavedToCache() override
DWARFCompileUnit * FindSingleCompileUnit()
If this file contains exactly one compile unit, this function will return it.
DWARFDIE FindDefinitionDIE(const DWARFDIE &die) override
bool isA(const void *ClassID) const override
LLVM RTTI support.
DIEToTypePtr & GetDIEToType() override
DIEToVariableSP & GetDIEToVariable() override
lldb::TypeSP FindCompleteObjCDefinitionTypeForDIE(const DWARFDIE &die, ConstString type_name, bool must_be_implementation) override
SymbolFileDWARF & m_base_symbol_file
static bool classof(const SymbolFile *obj)
SymbolFileDWARF & GetBaseSymbolFile() const
~SymbolFileDWARFDwo() override=default
llvm::Expected< lldb::TypeSystemSP > GetTypeSystemForLanguage(lldb::LanguageType language) override
void FindGlobalVariables(ConstString name, const CompilerDeclContext &parent_decl_ctx, uint32_t max_matches, VariableList &variables) override
void SetDebugInfoHadFrameVariableErrors() override
SymbolFileDWARF * GetDIERefSymbolFile(const DIERef &die_ref) override
Given a DIERef, find the correct SymbolFileDWARF.
bool GetDebugInfoHadFrameVariableErrors() const override
Accessors for the bool that indicates if there was debug info, but errors stopped variables from bein...
DWARFDIE GetDIE(const DIERef &die_ref) override
DWARFCompileUnit * GetDWOCompileUnitForHash(uint64_t hash)
void GetObjCMethods(ConstString class_name, llvm::function_ref< bool(DWARFDIE die)> callback) override
static char ID
LLVM RTTI support.
bool ParseVendorDWARFOpcode(uint8_t op, const DataExtractor &opcodes, lldb::offset_t &offset, std::vector< Value > &stack) const override
lldb::offset_t GetVendorDWARFOpcodeSize(const DataExtractor &data, const lldb::offset_t data_offset, const uint8_t op) const override
llvm::DenseMap< const DWARFDebugInfoEntry *, Type * > DIEToTypePtr
llvm::DenseMap< const DWARFDebugInfoEntry *, lldb::VariableSP > DIEToVariableSP
friend class SymbolFileDWARFDwo
bool isA(const void *ClassID) const override
LLVM RTTI support.
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
LanguageType
Programming language type.
std::shared_ptr< lldb_private::Type > TypeSP