#include "SymbolFileDWARFDwo.h"
#include "lldb/Core/Section.h"
#include "lldb/Expression/DWARFExpression.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Utility/LLDBAssert.h"
#include "llvm/Support/Casting.h"
#include "DWARFCompileUnit.h"
#include "DWARFDebugInfo.h"
#include "DWARFUnit.h"
#include <optional>
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacelldb_private::plugin::dwarf;
char SymbolFileDWARFDwo::ID;
SymbolFileDWARFDwo::SymbolFileDWARFDwo(SymbolFileDWARF &base_symbol_file,
ObjectFileSP objfile, uint32_t id)
: … { … }
DWARFCompileUnit *SymbolFileDWARFDwo::GetDWOCompileUnitForHash(uint64_t hash) { … }
DWARFCompileUnit *SymbolFileDWARFDwo::FindSingleCompileUnit() { … }
lldb::offset_t SymbolFileDWARFDwo::GetVendorDWARFOpcodeSize(
const lldb_private::DataExtractor &data, const lldb::offset_t data_offset,
const uint8_t op) const { … }
uint64_t SymbolFileDWARFDwo::GetDebugInfoSize(bool load_all_debug_info) { … }
bool SymbolFileDWARFDwo::ParseVendorDWARFOpcode(
uint8_t op, const lldb_private::DataExtractor &opcodes,
lldb::offset_t &offset, std::vector<lldb_private::Value> &stack) const { … }
SymbolFileDWARF::DIEToTypePtr &SymbolFileDWARFDwo::GetDIEToType() { … }
SymbolFileDWARF::DIEToVariableSP &SymbolFileDWARFDwo::GetDIEToVariable() { … }
llvm::DenseMap<lldb::opaque_compiler_type_t, DIERef> &
SymbolFileDWARFDwo::GetForwardDeclCompilerTypeToDIE() { … }
void SymbolFileDWARFDwo::GetObjCMethods(
lldb_private::ConstString class_name,
llvm::function_ref<bool(DWARFDIE die)> callback) { … }
UniqueDWARFASTTypeMap &SymbolFileDWARFDwo::GetUniqueDWARFASTTypeMap() { … }
DWARFDIE SymbolFileDWARFDwo::FindDefinitionDIE(const DWARFDIE &die) { … }
lldb::TypeSP SymbolFileDWARFDwo::FindCompleteObjCDefinitionTypeForDIE(
const DWARFDIE &die, lldb_private::ConstString type_name,
bool must_be_implementation) { … }
llvm::Expected<lldb::TypeSystemSP>
SymbolFileDWARFDwo::GetTypeSystemForLanguage(LanguageType language) { … }
DWARFDIE
SymbolFileDWARFDwo::GetDIE(const DIERef &die_ref) { … }
void SymbolFileDWARFDwo::FindGlobalVariables(
ConstString name, const CompilerDeclContext &parent_decl_ctx,
uint32_t max_matches, VariableList &variables) { … }
bool SymbolFileDWARFDwo::GetDebugInfoIndexWasLoadedFromCache() const { … }
void SymbolFileDWARFDwo::SetDebugInfoIndexWasLoadedFromCache() { … }
bool SymbolFileDWARFDwo::GetDebugInfoIndexWasSavedToCache() const { … }
void SymbolFileDWARFDwo::SetDebugInfoIndexWasSavedToCache() { … }
bool SymbolFileDWARFDwo::GetDebugInfoHadFrameVariableErrors() const { … }
void SymbolFileDWARFDwo::SetDebugInfoHadFrameVariableErrors() { … }
SymbolFileDWARF *
SymbolFileDWARFDwo::GetDIERefSymbolFile(const DIERef &die_ref) { … }