9#ifndef LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARFDWO_H
10#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARFDWO_H
25 bool isA(
const void *ClassID)
const override {
42 llvm::Expected<lldb::TypeSystemSP>
50 const uint8_t op)
const override;
57 std::vector<Value> &stack)
const override;
76 llvm::DenseMap<const DWARFDebugInfoEntry *, Type *> &
GetDIEToType()
override;
80 llvm::DenseMap<lldb::opaque_compiler_type_t, DIERef> &
90 bool must_be_implementation)
override;
Represents a generic declaration context in a program.
A uniqued constant string class.
virtual bool isA(const void *ClassID) const
LLVM RTTI support.
Identifies a DWARF debug info entry within a given Module.
SymbolFileDWARFDwo(SymbolFileDWARF &m_base_symbol_file, lldb::ObjectFileSP objfile, uint32_t id)
void GetObjCMethods(ConstString class_name, llvm::function_ref< IterationAction(DWARFDIE die)> callback) override
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.
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
llvm::DenseMap< const DWARFDebugInfoEntry *, Type * > & GetDIEToType() override
DWARFCompileUnit * GetDWOCompileUnitForHash(uint64_t hash)
static char ID
LLVM RTTI support.
bool ParseVendorDWARFOpcode(uint8_t op, const DataExtractor &opcodes, lldb::offset_t &offset, RegisterContext *reg_ctx, lldb::RegisterKind reg_kind, 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 *, lldb::VariableSP > DIEToVariableSP
friend class SymbolFileDWARFDwo
friend class DWARFCompileUnit
SymbolFileDWARF(lldb::ObjectFileSP objfile_sp, SectionList *dwo_section_list)
bool isA(const void *ClassID) const override
LLVM RTTI support.
IterationAction
Useful for callbacks whose return type indicates whether to continue iteration or short-circuit.
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
LanguageType
Programming language type.
std::shared_ptr< lldb_private::Type > TypeSP
RegisterKind
Register numbering types.