diff --git a/lldb/include/lldb/Target/LanguageRuntime.h b/lldb/include/lldb/Target/LanguageRuntime.h index c19cf77898e6..e88bf26a54cc 100644 --- a/lldb/include/lldb/Target/LanguageRuntime.h +++ b/lldb/include/lldb/Target/LanguageRuntime.h @@ -143,6 +143,8 @@ public: return false; } + virtual void SymbolsDidLoad(const ModuleList &module_list) { return; } + virtual lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop_others) = 0; diff --git a/lldb/include/lldb/Target/ObjCLanguageRuntime.h b/lldb/include/lldb/Target/ObjCLanguageRuntime.h index 7d3613bfd914..85a070c19ec6 100644 --- a/lldb/include/lldb/Target/ObjCLanguageRuntime.h +++ b/lldb/include/lldb/Target/ObjCLanguageRuntime.h @@ -275,7 +275,7 @@ public: return (m_has_new_literals_and_indexing == eLazyBoolYes); } - virtual void SymbolsDidLoad(const ModuleList &module_list) { + void SymbolsDidLoad(const ModuleList &module_list) override { m_negative_complete_class_cache.clear(); } diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 14755f60c552..41772e0f8bce 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -43,7 +43,6 @@ #include "lldb/Symbol/Symbol.h" #include "lldb/Target/Language.h" #include "lldb/Target/LanguageRuntime.h" -#include "lldb/Target/ObjCLanguageRuntime.h" #include "lldb/Target/Process.h" #include "lldb/Target/SectionLoadList.h" #include "lldb/Target/StackFrame.h" @@ -1668,11 +1667,8 @@ void Target::ModulesDidLoad(ModuleList &module_list) { void Target::SymbolsDidLoad(ModuleList &module_list) { if (m_valid && module_list.GetSize()) { if (m_process_sp) { - LanguageRuntime *runtime = - m_process_sp->GetLanguageRuntime(lldb::eLanguageTypeObjC); - if (runtime) { - ObjCLanguageRuntime *objc_runtime = (ObjCLanguageRuntime *)runtime; - objc_runtime->SymbolsDidLoad(module_list); + for (LanguageRuntime *runtime : m_process_sp->GetLanguageRuntimes()) { + runtime->SymbolsDidLoad(module_list); } }