diff options
Diffstat (limited to 'source/Plugins/SymbolFile/DWARF/DIERef.h')
-rw-r--r-- | source/Plugins/SymbolFile/DWARF/DIERef.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/source/Plugins/SymbolFile/DWARF/DIERef.h b/source/Plugins/SymbolFile/DWARF/DIERef.h index 3df07d511749..ad4ad45623a3 100644 --- a/source/Plugins/SymbolFile/DWARF/DIERef.h +++ b/source/Plugins/SymbolFile/DWARF/DIERef.h @@ -14,24 +14,34 @@ #include "lldb/lldb-defines.h" class DWARFFormValue; +class SymbolFileDWARF; struct DIERef { DIERef(); - explicit - DIERef(dw_offset_t d); - DIERef(dw_offset_t c, dw_offset_t d); + //---------------------------------------------------------------------- + // In order to properly decode a lldb::user_id_t back into a DIERef we + // need the DWARF file since it knows if DWARF in .o files is being used + // (MacOSX) or if DWO files are being used. The encoding of the user ID + // differs between the two types of DWARF. + //---------------------------------------------------------------------- explicit - DIERef(lldb::user_id_t uid); + DIERef(lldb::user_id_t uid, SymbolFileDWARF *dwarf); explicit DIERef(const DWARFFormValue& form_value); + //---------------------------------------------------------------------- + // In order to properly encode a DIERef unto a lldb::user_id_t we need + // the DWARF file since it knows if DWARF in .o files is being used + // (MacOSX) or if DWO files are being used. The encoding of the user ID + // differs between the two types of DWARF. + //---------------------------------------------------------------------- lldb::user_id_t - GetUID() const; + GetUID(SymbolFileDWARF *dwarf) const; bool operator< (const DIERef &ref) const |