lldb::SBSymbol SBModule::FindSymbol(const char *name, lldb::SymbolType symbol_type) { SBSymbol sb_symbol; if (name && name[0]) { ModuleSP module_sp(GetSP()); Symtab *symtab = GetUnifiedSymbolTable(module_sp); if (symtab) sb_symbol.SetSymbol(symtab->FindFirstSymbolWithNameAndType( ConstString(name), symbol_type, Symtab::eDebugAny, Symtab::eVisibilityAny)); } return sb_symbol; }
const Symbol * Module::FindFirstSymbolWithNameAndType (const ConstString &name, SymbolType symbol_type) { Timer scoped_timer(__PRETTY_FUNCTION__, "Module::FindFirstSymbolWithNameAndType (name = %s, type = %i)", name.AsCString(), symbol_type); ObjectFile *objfile = GetObjectFile(); if (objfile) { Symtab *symtab = objfile->GetSymtab(); if (symtab) return symtab->FindFirstSymbolWithNameAndType (name, symbol_type, Symtab::eDebugAny, Symtab::eVisibilityAny); } return NULL; }
lldb::SBSymbol SBModule::FindSymbol (const char *name, lldb::SymbolType symbol_type) { SBSymbol sb_symbol; if (name && name[0]) { ModuleSP module_sp (GetSP ()); if (module_sp) { ObjectFile *obj_file = module_sp->GetObjectFile(); if (obj_file) { Symtab *symtab = obj_file->GetSymtab(); if (symtab) sb_symbol.SetSymbol(symtab->FindFirstSymbolWithNameAndType(ConstString(name), symbol_type, Symtab::eDebugAny, Symtab::eVisibilityAny)); } } } return sb_symbol; }