lldb::SBTypeList SBModule::FindTypes (const char *type) { SBTypeList retval; ModuleSP module_sp (GetSP ()); if (type && module_sp) { SymbolContext sc; TypeList type_list; const bool exact_match = false; uint32_t num_matches = 0; ConstString name(type); num_matches = module_sp->FindTypes (sc, name, exact_match, UINT32_MAX, type_list); for (size_t idx = 0; idx < num_matches; idx++) { TypeSP type_sp (type_list.GetTypeAtIndex(idx)); if (type_sp) retval.Append(SBType(type_sp)); } } return retval; }
lldb::SBTypeList SBModule::FindTypes(const char *type) { SBTypeList retval; ModuleSP module_sp(GetSP()); if (type && module_sp) { SymbolContext sc; TypeList type_list; const bool exact_match = false; ConstString name(type); llvm::DenseSet<SymbolFile *> searched_symbol_files; const uint32_t num_matches = module_sp->FindTypes( sc, name, exact_match, UINT32_MAX, searched_symbol_files, type_list); if (num_matches > 0) { for (size_t idx = 0; idx < num_matches; idx++) { TypeSP type_sp(type_list.GetTypeAtIndex(idx)); if (type_sp) retval.Append(SBType(type_sp)); } } else { TypeSystem *type_system = module_sp->GetTypeSystemForLanguage(eLanguageTypeC); if (type_system) { CompilerType compiler_type = type_system->GetBuiltinTypeByName(name); if (compiler_type) retval.Append(SBType(compiler_type)); } } } return retval; }
lldb::SBTypeList SBModule::FindTypes (const char *type) { SBTypeList retval; ModuleSP module_sp (GetSP ()); if (type && module_sp) { SymbolContext sc; TypeList type_list; const bool exact_match = false; ConstString name(type); const uint32_t num_matches = module_sp->FindTypes (sc, name, exact_match, UINT32_MAX, type_list); if (num_matches > 0) { for (size_t idx = 0; idx < num_matches; idx++) { TypeSP type_sp (type_list.GetTypeAtIndex(idx)); if (type_sp) retval.Append(SBType(type_sp)); } } else { SBType sb_type(ClangASTType::GetBasicType (module_sp->GetClangASTContext().getASTContext(), name)); if (sb_type.IsValid()) retval.Append(sb_type); } } return retval; }