diff options
Diffstat (limited to 'lldb/source/API/SBCompileUnit.cpp')
-rw-r--r-- | lldb/source/API/SBCompileUnit.cpp | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/lldb/source/API/SBCompileUnit.cpp b/lldb/source/API/SBCompileUnit.cpp index 149d587913e..4e2fc6af460 100644 --- a/lldb/source/API/SBCompileUnit.cpp +++ b/lldb/source/API/SBCompileUnit.cpp @@ -135,17 +135,21 @@ uint32_t SBCompileUnit::GetNumSupportFiles() const { lldb::SBTypeList SBCompileUnit::GetTypes(uint32_t type_mask) { SBTypeList sb_type_list; - if (m_opaque_ptr) { - ModuleSP module_sp(m_opaque_ptr->GetModule()); - if (module_sp) { - SymbolVendor *vendor = module_sp->GetSymbolVendor(); - if (vendor) { - TypeList type_list; - vendor->GetTypes(m_opaque_ptr, type_mask, type_list); - sb_type_list.m_opaque_ap->Append(type_list); - } - } - } + if (!m_opaque_ptr) + return sb_type_list; + + ModuleSP module_sp(m_opaque_ptr->GetModule()); + if (!module_sp) + return sb_type_list; + + SymbolVendor *vendor = module_sp->GetSymbolVendor(); + if (!vendor) + return sb_type_list; + + TypeClass type_class = static_cast<TypeClass>(type_mask); + TypeList type_list; + vendor->GetTypes(m_opaque_ptr, type_class, type_list); + sb_type_list.m_opaque_ap->Append(type_list); return sb_type_list; } |