diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp index e8212c2f69a..cf003367036 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp @@ -936,11 +936,9 @@ SymbolFileDWARFDebugMap::FindFunctions (const RegularExpression& regex, bool app } TypeSP -SymbolFileDWARFDebugMap::FindDefinitionTypeForDIE ( - DWARFCompileUnit* cu, - const DWARFDebugInfoEntry *die, - const ConstString &type_name -) +SymbolFileDWARFDebugMap::FindDefinitionTypeForDIE (DWARFCompileUnit* cu, + const DWARFDebugInfoEntry *die, + const ConstString &type_name) { TypeSP type_sp; SymbolFileDWARF *oso_dwarf; @@ -953,6 +951,23 @@ SymbolFileDWARFDebugMap::FindDefinitionTypeForDIE ( return type_sp; } + +TypeSP +SymbolFileDWARFDebugMap::FindCompleteObjCDefinitionTypeForDIE (DWARFCompileUnit* cu, + const DWARFDebugInfoEntry *die, + const ConstString &type_name) +{ + TypeSP type_sp; + SymbolFileDWARF *oso_dwarf; + for (uint32_t oso_idx = 0; ((oso_dwarf = GetSymbolFileByOSOIndex (oso_idx)) != NULL); ++oso_idx) + { + type_sp = oso_dwarf->FindCompleteObjCDefinitionTypeForDIE (cu, die, type_name); + if (type_sp) + break; + } + return type_sp; +} + uint32_t SymbolFileDWARFDebugMap::FindTypes ( |

