diff options
-rw-r--r-- | lldb/include/lldb/Core/PluginManager.h | 9 | ||||
-rw-r--r-- | lldb/include/lldb/Target/Language.h | 3 | ||||
-rw-r--r-- | lldb/include/lldb/lldb-private-interfaces.h | 1 | ||||
-rw-r--r-- | lldb/source/Core/Debugger.cpp | 5 | ||||
-rw-r--r-- | lldb/source/Core/PluginManager.cpp | 5 | ||||
-rw-r--r-- | lldb/source/Target/Language.cpp | 11 | ||||
-rw-r--r-- | lldb/source/Target/Target.cpp | 14 |
7 files changed, 8 insertions, 40 deletions
diff --git a/lldb/include/lldb/Core/PluginManager.h b/lldb/include/lldb/Core/PluginManager.h index c09f5a3fa7b..e833e703ece 100644 --- a/lldb/include/lldb/Core/PluginManager.h +++ b/lldb/include/lldb/Core/PluginManager.h @@ -449,8 +449,7 @@ public: static bool RegisterPlugin (const ConstString &name, const char *description, - REPLCreateInstance create_callback, - REPLEnumerateSupportedLanguages enumerate_languages_callback); + REPLCreateInstance create_callback); static bool UnregisterPlugin (REPLCreateInstance create_callback); @@ -461,12 +460,6 @@ public: static REPLCreateInstance GetREPLCreateCallbackForPluginName (const ConstString &name); - static REPLEnumerateSupportedLanguages - GetREPLEnumerateSupportedLanguagesCallbackAtIndex (uint32_t idx); - - static REPLEnumerateSupportedLanguages - GetREPLSystemEnumerateSupportedLanguagesCallbackForPluginName (const ConstString &name); - //------------------------------------------------------------------ // Some plug-ins might register a DebuggerInitializeCallback // callback when registering the plug-in. After a new Debugger diff --git a/lldb/include/lldb/Target/Language.h b/lldb/include/lldb/Target/Language.h index 57ef8b5ef89..555f1e27abe 100644 --- a/lldb/include/lldb/Target/Language.h +++ b/lldb/include/lldb/Target/Language.h @@ -149,9 +149,6 @@ public: static void GetLanguagesSupportingTypeSystems (std::set<lldb::LanguageType> &languages, std::set<lldb::LanguageType> &languages_for_expressions); - - static void - GetLanguagesSupportingREPLs (std::set<lldb::LanguageType> &languages); protected: //------------------------------------------------------------------ diff --git a/lldb/include/lldb/lldb-private-interfaces.h b/lldb/include/lldb/lldb-private-interfaces.h index 6bc8dadaebf..22bdd18ac2a 100644 --- a/lldb/include/lldb/lldb-private-interfaces.h +++ b/lldb/include/lldb/lldb-private-interfaces.h @@ -51,7 +51,6 @@ namespace lldb_private typedef lldb::TypeSystemSP (*TypeSystemCreateInstance) (lldb::LanguageType language, Module *module, Target *target); typedef lldb::REPLSP (*REPLCreateInstance) (Error &error, lldb::LanguageType language, Debugger *debugger, Target *target, const char *repl_options); typedef void (*TypeSystemEnumerateSupportedLanguages) (std::set<lldb::LanguageType> &languages_for_types, std::set<lldb::LanguageType> &languages_for_expressions); - typedef void (*REPLEnumerateSupportedLanguages) (std::set<lldb::LanguageType> &languages); typedef int (*ComparisonFunction)(const void *, const void *); typedef void (*DebuggerInitializeCallback)(Debugger &debugger); diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 494b762e872..8619b50b2a3 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -1805,6 +1805,11 @@ Debugger::RunREPL (LanguageType language, const char *repl_options) { Error err; FileSpec repl_executable; + if (language == eLanguageTypeUnknown) + { + err.SetErrorString ("must specify a language for a REPL"); // TODO make it possible to specify a default language + return err; + } Target *const target = nullptr; // passing in an empty target means the REPL must create one diff --git a/lldb/source/Core/PluginManager.cpp b/lldb/source/Core/PluginManager.cpp index 02b042f79cd..97116dd4ad8 100644 --- a/lldb/source/Core/PluginManager.cpp +++ b/lldb/source/Core/PluginManager.cpp @@ -2662,7 +2662,6 @@ struct REPLInstance ConstString name; std::string description; REPLCreateInstance create_callback; - REPLEnumerateSupportedLanguages enumerate_languages_callback; }; typedef std::vector<REPLInstance> REPLInstances; @@ -2684,8 +2683,7 @@ GetREPLInstances () bool PluginManager::RegisterPlugin (const ConstString &name, const char *description, - REPLCreateInstance create_callback, - REPLEnumerateSupportedLanguages enumerate_languages_callback) + REPLCreateInstance create_callback) { if (create_callback) { @@ -2695,7 +2693,6 @@ PluginManager::RegisterPlugin (const ConstString &name, if (description && description[0]) instance.description = description; instance.create_callback = create_callback; - instance.enumerate_languages_callback = enumerate_languages_callback; Mutex::Locker locker (GetREPLMutex ()); GetREPLInstances ().push_back (instance); } diff --git a/lldb/source/Target/Language.cpp b/lldb/source/Target/Language.cpp index 6ed37970f94..3ca6ae7f270 100644 --- a/lldb/source/Target/Language.cpp +++ b/lldb/source/Target/Language.cpp @@ -299,17 +299,6 @@ Language::GetLanguagesSupportingTypeSystems (std::set<lldb::LanguageType> &langu } } -static void -GetLanguagesSupportingREPLs (std::set<lldb::LanguageType> &languages) -{ - uint32_t idx = 0; - - while (REPLEnumerateSupportedLanguages enumerate = PluginManager::GetREPLEnumerateSupportedLanguagesCallbackAtIndex(idx++)) - { - (*enumerate)(languages); - } -} - std::unique_ptr<Language::TypeScavenger> Language::GetTypeScavenger () { diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 23b82e5c36e..385ac74bb1d 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -218,19 +218,7 @@ Target::GetREPL (Error &err, lldb::LanguageType language, const char *repl_optio { if (language == eLanguageTypeUnknown) { - std::set<LanguageType> repl_languages; - - Language::GetLanguagesSupportingREPLs(repl_languages); - - if (repl_languages.size() == 1) - { - language = *repl_languages.begin(); - } - else - { - err.SetErrorStringWithFormat("Multiple possible REPL languages. Please specify a language."); - return REPLSP(); // must provide a language - } + return REPLSP(); // must provide a language } REPLMap::iterator pos = m_repl_map.find(language); |