sivachandra created this revision.
sivachandra added a reviewer: spyffe.
sivachandra added a subscriber: lldb-commits.

This reverts commit babd6dd74e316b1fcd9d171d7d8c83845d51a487.

http://reviews.llvm.org/D13952

Files:
  include/lldb/Core/PluginManager.h
  include/lldb/Target/Language.h
  include/lldb/lldb-private-interfaces.h
  source/Core/Debugger.cpp
  source/Core/PluginManager.cpp
  source/Target/Language.cpp
  source/Target/Target.cpp

Index: source/Target/Target.cpp
===================================================================
--- source/Target/Target.cpp
+++ source/Target/Target.cpp
@@ -218,19 +218,7 @@
 {
     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);
Index: source/Target/Language.cpp
===================================================================
--- source/Target/Language.cpp
+++ source/Target/Language.cpp
@@ -299,17 +299,6 @@
     }
 }
 
-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 ()
 {
Index: source/Core/PluginManager.cpp
===================================================================
--- source/Core/PluginManager.cpp
+++ source/Core/PluginManager.cpp
@@ -2662,7 +2662,6 @@
     ConstString name;
     std::string description;
     REPLCreateInstance create_callback;
-    REPLEnumerateSupportedLanguages enumerate_languages_callback;
 };
 
 typedef std::vector<REPLInstance> REPLInstances;
@@ -2684,8 +2683,7 @@
 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 @@
         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);
     }
Index: source/Core/Debugger.cpp
===================================================================
--- source/Core/Debugger.cpp
+++ source/Core/Debugger.cpp
@@ -1805,6 +1805,11 @@
 {
     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
     
Index: include/lldb/lldb-private-interfaces.h
===================================================================
--- include/lldb/lldb-private-interfaces.h
+++ include/lldb/lldb-private-interfaces.h
@@ -51,7 +51,6 @@
     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);
 
Index: include/lldb/Target/Language.h
===================================================================
--- include/lldb/Target/Language.h
+++ include/lldb/Target/Language.h
@@ -149,9 +149,6 @@
     static void
     GetLanguagesSupportingTypeSystems (std::set<lldb::LanguageType> &languages,
                                        std::set<lldb::LanguageType> &languages_for_expressions);
-
-    static void
-    GetLanguagesSupportingREPLs (std::set<lldb::LanguageType> &languages);
     
 protected:
     //------------------------------------------------------------------
Index: include/lldb/Core/PluginManager.h
===================================================================
--- include/lldb/Core/PluginManager.h
+++ include/lldb/Core/PluginManager.h
@@ -449,8 +449,7 @@
     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 @@
     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
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to