diff options
author | Med Ismail Bennani <ismail@bennani.ma> | 2024-07-23 16:04:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-23 16:04:48 -0700 |
commit | 39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff (patch) | |
tree | 00c03bd8c6bf3918d3120d6d90b1c698dffe2f22 /lldb/source | |
parent | 25f0381ba128e012e494701286450a374bf366a8 (diff) | |
download | llvm-39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff.zip llvm-39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff.tar.gz llvm-39c23a31d2ab9a6068fcaa22ed9b1e10101db5ff.tar.bz2 |
Revert "[lldb/Commands] Add `scripting template list` command with auto discovery" (#100273)
Reverts llvm/llvm-project#97273 since it broke the windows bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/1025/steps/4/logs/stdio
Diffstat (limited to 'lldb/source')
21 files changed, 40 insertions, 473 deletions
diff --git a/lldb/source/Commands/CommandObjectScripting.cpp b/lldb/source/Commands/CommandObjectScripting.cpp index 730a190..fee0565 100644 --- a/lldb/source/Commands/CommandObjectScripting.cpp +++ b/lldb/source/Commands/CommandObjectScripting.cpp @@ -8,14 +8,12 @@ #include "CommandObjectScripting.h" #include "lldb/Core/Debugger.h" -#include "lldb/Core/PluginManager.h" #include "lldb/DataFormatters/DataVisualization.h" #include "lldb/Host/Config.h" #include "lldb/Host/OptionParser.h" #include "lldb/Interpreter/CommandInterpreter.h" #include "lldb/Interpreter/CommandOptionArgumentTable.h" #include "lldb/Interpreter/CommandReturnObject.h" -#include "lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h" #include "lldb/Interpreter/OptionArgParser.h" #include "lldb/Interpreter/ScriptInterpreter.h" #include "lldb/Utility/Args.h" @@ -129,126 +127,9 @@ private: CommandOptions m_options; }; -#define LLDB_OPTIONS_scripting_template_list -#include "CommandOptions.inc" - -class CommandObjectScriptingTemplateList : public CommandObjectParsed { -public: - CommandObjectScriptingTemplateList(CommandInterpreter &interpreter) - : CommandObjectParsed( - interpreter, "scripting template list", - "List all the available scripting extension templates. ", - "scripting template list [--language <scripting-language> --]") {} - - ~CommandObjectScriptingTemplateList() override = default; - - Options *GetOptions() override { return &m_options; } - - class CommandOptions : public Options { - public: - CommandOptions() = default; - ~CommandOptions() override = default; - Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg, - ExecutionContext *execution_context) override { - Status error; - const int short_option = m_getopt_table[option_idx].val; +#pragma mark CommandObjectMultiwordScripting - switch (short_option) { - case 'l': - m_language = (lldb::ScriptLanguage)OptionArgParser::ToOptionEnum( - option_arg, GetDefinitions()[option_idx].enum_values, - eScriptLanguageNone, error); - if (!error.Success()) - error.SetErrorStringWithFormatv( - "unrecognized value for language '{0}'", option_arg); - break; - default: - llvm_unreachable("Unimplemented option"); - } - - return error; - } - - void OptionParsingStarting(ExecutionContext *execution_context) override { - m_language = lldb::eScriptLanguageDefault; - } - - llvm::ArrayRef<OptionDefinition> GetDefinitions() override { - return llvm::ArrayRef(g_scripting_template_list_options); - } - - lldb::ScriptLanguage m_language = lldb::eScriptLanguageDefault; - }; - -protected: - void DoExecute(Args &command, CommandReturnObject &result) override { - Stream &s = result.GetOutputStream(); - s.Printf("Available scripted extension templates:"); - - auto print_field = [&s](llvm::StringRef key, llvm::StringRef value) { - if (!value.empty()) { - s.IndentMore(); - s.Indent(); - s << key << ": " << value << '\n'; - s.IndentLess(); - } - }; - - size_t num_listed_interface = 0; - size_t num_templates = PluginManager::GetNumScriptedInterfaces(); - for (size_t i = 0; i < num_templates; i++) { - llvm::StringRef plugin_name = - PluginManager::GetScriptedInterfaceNameAtIndex(i); - if (plugin_name.empty()) - break; - - lldb::ScriptLanguage lang = - PluginManager::GetScriptedInterfaceLanguageAtIndex(i); - if (lang != m_options.m_language) - continue; - - if (!num_listed_interface) - s.EOL(); - - num_listed_interface++; - - llvm::StringRef desc = - PluginManager::GetScriptedInterfaceDescriptionAtIndex(i); - ScriptedInterfaceUsages usages = - PluginManager::GetScriptedInterfaceUsagesAtIndex(i); - - print_field("Name", plugin_name); - print_field("Language", ScriptInterpreter::LanguageToString(lang)); - print_field("Description", desc); - usages.Dump(s, ScriptedInterfaceUsages::UsageKind::API); - usages.Dump(s, ScriptedInterfaceUsages::UsageKind::CommandInterpreter); - - if (i != num_templates - 1) - s.EOL(); - } - - if (!num_listed_interface) - s << " None\n"; - } - -private: - CommandOptions m_options; -}; - -class CommandObjectMultiwordScriptingTemplate : public CommandObjectMultiword { -public: - CommandObjectMultiwordScriptingTemplate(CommandInterpreter &interpreter) - : CommandObjectMultiword( - interpreter, "scripting template", - "Commands for operating on the scripting templates.", - "scripting template [<subcommand-options>]") { - LoadSubCommand( - "list", - CommandObjectSP(new CommandObjectScriptingTemplateList(interpreter))); - } - - ~CommandObjectMultiwordScriptingTemplate() override = default; -}; +// CommandObjectMultiwordScripting CommandObjectMultiwordScripting::CommandObjectMultiwordScripting( CommandInterpreter &interpreter) @@ -258,9 +139,6 @@ CommandObjectMultiwordScripting::CommandObjectMultiwordScripting( "scripting <subcommand> [<subcommand-options>]") { LoadSubCommand("run", CommandObjectSP(new CommandObjectScriptingRun(interpreter))); - LoadSubCommand("template", - CommandObjectSP( - new CommandObjectMultiwordScriptingTemplate(interpreter))); } CommandObjectMultiwordScripting::~CommandObjectMultiwordScripting() = default; diff --git a/lldb/source/Commands/Options.td b/lldb/source/Commands/Options.td index 6e5ed21..24e97f3 100644 --- a/lldb/source/Commands/Options.td +++ b/lldb/source/Commands/Options.td @@ -841,12 +841,6 @@ let Command = "scripting run" in { " language. If none is specific the default scripting language is used.">; } -let Command = "scripting template list" in { - def scripting_template_list_language : Option<"language", "l">, - EnumArg<"ScriptLang">, Desc<"Specify the scripting " - " language. If none is specified the default scripting language is used.">; -} - let Command = "source info" in { def source_info_count : Option<"count", "c">, Arg<"Count">, Desc<"The number of line entries to display.">; diff --git a/lldb/source/Core/PluginManager.cpp b/lldb/source/Core/PluginManager.cpp index 01bee86..759ef3a 100644 --- a/lldb/source/Core/PluginManager.cpp +++ b/lldb/source/Core/PluginManager.cpp @@ -1505,70 +1505,6 @@ LanguageSet PluginManager::GetAllTypeSystemSupportedLanguagesForExpressions() { return all; } -#pragma mark ScriptedInterfaces - -struct ScriptedInterfaceInstance - : public PluginInstance<ScriptedInterfaceCreateInstance> { - ScriptedInterfaceInstance(llvm::StringRef name, llvm::StringRef description, - ScriptedInterfaceCreateInstance create_callback, - lldb::ScriptLanguage language, - ScriptedInterfaceUsages usages) - : PluginInstance<ScriptedInterfaceCreateInstance>(name, description, - create_callback), - language(language), usages(usages) {} - - lldb::ScriptLanguage language; - ScriptedInterfaceUsages usages; -}; - -typedef PluginInstances<ScriptedInterfaceInstance> ScriptedInterfaceInstances; - -static ScriptedInterfaceInstances &GetScriptedInterfaceInstances() { - static ScriptedInterfaceInstances g_instances; - return g_instances; -} - -bool PluginManager::RegisterPlugin( - llvm::StringRef name, llvm::StringRef description, - ScriptedInterfaceCreateInstance create_callback, - lldb::ScriptLanguage language, ScriptedInterfaceUsages usages) { - return GetScriptedInterfaceInstances().RegisterPlugin( - name, description, create_callback, language, usages); -} - -bool PluginManager::UnregisterPlugin( - ScriptedInterfaceCreateInstance create_callback) { - return GetScriptedInterfaceInstances().UnregisterPlugin(create_callback); -} - -uint32_t PluginManager::GetNumScriptedInterfaces() { - return GetScriptedInterfaceInstances().GetInstances().size(); -} - -llvm::StringRef PluginManager::GetScriptedInterfaceNameAtIndex(uint32_t index) { - return GetScriptedInterfaceInstances().GetNameAtIndex(index); -} - -llvm::StringRef -PluginManager::GetScriptedInterfaceDescriptionAtIndex(uint32_t index) { - return GetScriptedInterfaceInstances().GetDescriptionAtIndex(index); -} - -lldb::ScriptLanguage -PluginManager::GetScriptedInterfaceLanguageAtIndex(uint32_t idx) { - const auto &instances = GetScriptedInterfaceInstances().GetInstances(); - return idx < instances.size() ? instances[idx].language - : ScriptLanguage::eScriptLanguageNone; -} - -ScriptedInterfaceUsages -PluginManager::GetScriptedInterfaceUsagesAtIndex(uint32_t idx) { - const auto &instances = GetScriptedInterfaceInstances().GetInstances(); - if (idx >= instances.size()) - return {}; - return instances[idx].usages; -} - #pragma mark REPL struct REPLInstance : public PluginInstance<REPLCreateInstance> { @@ -1629,7 +1565,6 @@ void PluginManager::DebuggerInitialize(Debugger &debugger) { GetOperatingSystemInstances().PerformDebuggerCallback(debugger); GetStructuredDataPluginInstances().PerformDebuggerCallback(debugger); GetTracePluginInstances().PerformDebuggerCallback(debugger); - GetScriptedInterfaceInstances().PerformDebuggerCallback(debugger); } // This is the preferred new way to register plugin specific settings. e.g. diff --git a/lldb/source/Interpreter/CMakeLists.txt b/lldb/source/Interpreter/CMakeLists.txt index 642263a..ae79b82 100644 --- a/lldb/source/Interpreter/CMakeLists.txt +++ b/lldb/source/Interpreter/CMakeLists.txt @@ -6,8 +6,6 @@ lldb_tablegen(InterpreterPropertiesEnum.inc -gen-lldb-property-enum-defs SOURCE InterpreterProperties.td TARGET LLDBInterpreterPropertiesEnumGen) -add_subdirectory(Interfaces) - add_lldb_library(lldbInterpreter NO_PLUGIN_DEPENDENCIES CommandAlias.cpp CommandHistory.cpp @@ -56,7 +54,6 @@ add_lldb_library(lldbInterpreter NO_PLUGIN_DEPENDENCIES ScriptInterpreter.cpp LINK_LIBS - lldbInterpreterInterfaces lldbCommands lldbCore lldbDataFormatters @@ -69,7 +66,6 @@ add_lldb_library(lldbInterpreter NO_PLUGIN_DEPENDENCIES ) add_dependencies(lldbInterpreter - lldbInterpreterInterfaces LLDBInterpreterPropertiesGen LLDBInterpreterPropertiesEnumGen) diff --git a/lldb/source/Interpreter/Interfaces/CMakeLists.txt b/lldb/source/Interpreter/Interfaces/CMakeLists.txt deleted file mode 100644 index f44672a..0000000 --- a/lldb/source/Interpreter/Interfaces/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -add_lldb_library(lldbInterpreterInterfaces NO_PLUGIN_DEPENDENCIES - ScriptedInterfaceUsages.cpp - - LINK_LIBS - lldbUtility - - LINK_COMPONENTS - Support - ) - diff --git a/lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp b/lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp deleted file mode 100644 index 05d7a5d..0000000 --- a/lldb/source/Interpreter/Interfaces/ScriptedInterfaceUsages.cpp +++ /dev/null @@ -1,37 +0,0 @@ -//===-- ScriptedInterfaceUsages.cpp --------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "lldb/Interpreter/Interfaces/ScriptedInterfaceUsages.h" - -using namespace lldb; -using namespace lldb_private; - -void ScriptedInterfaceUsages::Dump(Stream &s, UsageKind kind) const { - s.IndentMore(); - s.Indent(); - llvm::StringRef usage_kind = - (kind == UsageKind::CommandInterpreter) ? "Command Interpreter" : "API"; - s << usage_kind << " Usages:"; - const std::vector<llvm::StringRef> &usages = - (kind == UsageKind::CommandInterpreter) ? GetCommandInterpreterUsages() - : GetSBAPIUsages(); - if (usages.empty()) - s << " None\n"; - else if (usages.size() == 1) - s << " " << usages.front() << '\n'; - else { - s << '\n'; - for (llvm::StringRef usage : usages) { - s.IndentMore(); - s.Indent(); - s << usage << '\n'; - s.IndentLess(); - } - } - s.IndentLess(); -} diff --git a/lldb/source/Plugins/CMakeLists.txt b/lldb/source/Plugins/CMakeLists.txt index 34dd8c1..854f589 100644 --- a/lldb/source/Plugins/CMakeLists.txt +++ b/lldb/source/Plugins/CMakeLists.txt @@ -29,9 +29,6 @@ add_subdirectory(UnwindAssembly) set(LLDB_STRIPPED_PLUGINS) get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS) -get_property(LLDB_EXTRA_PLUGINS GLOBAL PROPERTY LLDB_EXTRA_SCRIPT_PLUGINS) -list(APPEND LLDB_ALL_PLUGINS ${LLDB_EXTRA_PLUGINS}) - set(LLDB_ENUM_PLUGINS "") diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt index 04fd903..c60e4bb 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt @@ -19,14 +19,13 @@ if (LLDB_ENABLE_LIBEDIT) list(APPEND LLDB_LIBEDIT_LIBS LibEdit::LibEdit) endif() -add_subdirectory(ScriptedProcessPythonInterface) -add_subdirectory(ScriptedThreadPlanPythonInterface) -add_subdirectory(ScriptedPlatformPythonInterface) -add_subdirectory(OperatingSystemPythonInterface) - add_lldb_library(lldbPluginScriptInterpreterPythonInterfaces + OperatingSystemPythonInterface.cpp ScriptedPythonInterface.cpp + ScriptedProcessPythonInterface.cpp ScriptedThreadPythonInterface.cpp + ScriptedThreadPlanPythonInterface.cpp + ScriptedPlatformPythonInterface.cpp LINK_LIBS lldbCore diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp index 34a2021..c162c73 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp @@ -6,7 +6,6 @@ // //===----------------------------------------------------------------------===// -#include "lldb/Core/PluginManager.h" #include "lldb/Host/Config.h" #include "lldb/Target/ExecutionContext.h" #include "lldb/Utility/Log.h" @@ -14,13 +13,11 @@ #if LLDB_ENABLE_PYTHON -// clang-format off // LLDB Python header must be included first -#include "../../lldb-python.h" -//clang-format on +#include "../lldb-python.h" -#include "../../SWIGPythonBridge.h" -#include "../../ScriptInterpreterPythonImpl.h" +#include "../SWIGPythonBridge.h" +#include "../ScriptInterpreterPythonImpl.h" #include "OperatingSystemPythonInterface.h" using namespace lldb; @@ -28,8 +25,6 @@ using namespace lldb_private; using namespace lldb_private::python; using Locker = ScriptInterpreterPythonImpl::Locker; -LLDB_PLUGIN_DEFINE(OperatingSystemPythonInterface) - OperatingSystemPythonInterface::OperatingSystemPythonInterface( ScriptInterpreterPythonImpl &interpreter) : OperatingSystemInterface(), ScriptedThreadPythonInterface(interpreter) {} @@ -84,18 +79,4 @@ OperatingSystemPythonInterface::GetRegisterContextForTID(lldb::tid_t tid) { return obj->GetAsString()->GetValue().str(); } -void OperatingSystemPythonInterface::Initialize() { - const std::vector<llvm::StringRef> ci_usages = { - "settings set target.process.python-os-plugin-path <script-path>", - "settings set process.experimental.os-plugin-reports-all-threads [0/1]"}; - const std::vector<llvm::StringRef> api_usages = {}; - PluginManager::RegisterPlugin( - GetPluginNameStatic(), llvm::StringRef("Mock thread state"), - CreateInstance, eScriptLanguagePython, {ci_usages, api_usages}); -} - -void OperatingSystemPythonInterface::Terminate() { - PluginManager::UnregisterPlugin(CreateInstance); -} - #endif diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h index 6d60f8b..da7bbf1 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h @@ -10,19 +10,17 @@ #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_OPERATINGSYSTEMPYTHONINTERFACE_H #include "lldb/Host/Config.h" -#include "lldb/Interpreter/Interfaces/OperatingSystemInterface.h" #if LLDB_ENABLE_PYTHON -#include "../ScriptedThreadPythonInterface.h" - +#include "ScriptedThreadPythonInterface.h" +#include "lldb/Interpreter/Interfaces/OperatingSystemInterface.h" #include <optional> namespace lldb_private { class OperatingSystemPythonInterface : virtual public OperatingSystemInterface, - virtual public ScriptedThreadPythonInterface, - public PluginInterface { + virtual public ScriptedThreadPythonInterface { public: OperatingSystemPythonInterface(ScriptInterpreterPythonImpl &interpreter); @@ -43,16 +41,6 @@ public: StructuredData::DictionarySP GetRegisterInfo() override; std::optional<std::string> GetRegisterContextForTID(lldb::tid_t tid) override; - - static void Initialize(); - - static void Terminate(); - - static llvm::StringRef GetPluginNameStatic() { - return "OperatingSystemPythonInterface"; - } - - llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); } }; } // namespace lldb_private diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt deleted file mode 100644 index a026496..0000000 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -add_lldb_library(lldbPluginOperatingSystemPythonInterface PLUGIN - - OperatingSystemPythonInterface.cpp - - LINK_LIBS - lldbCore - lldbHost - lldbInterpreter - lldbTarget - ${Python3_LIBRARIES} - ${LLDB_LIBEDIT_LIBS} - - LINK_COMPONENTS - Support - ) diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp index 3ca9e79..6e93bec 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp @@ -6,31 +6,27 @@ // //===----------------------------------------------------------------------===// -#include "lldb/Core/PluginManager.h" #include "lldb/Host/Config.h" -#include "lldb/Target/ExecutionContext.h" #include "lldb/Utility/Log.h" #include "lldb/Utility/Status.h" #include "lldb/lldb-enumerations.h" #if LLDB_ENABLE_PYTHON -// clang-format off // LLDB Python header must be included first -#include "../../lldb-python.h" -//clang-format on +#include "../lldb-python.h" -#include "../../SWIGPythonBridge.h" -#include "../../ScriptInterpreterPythonImpl.h" +#include "../SWIGPythonBridge.h" +#include "../ScriptInterpreterPythonImpl.h" #include "ScriptedPlatformPythonInterface.h" +#include "lldb/Target/ExecutionContext.h" + using namespace lldb; using namespace lldb_private; using namespace lldb_private::python; using Locker = ScriptInterpreterPythonImpl::Locker; -LLDB_PLUGIN_DEFINE(ScriptedPlatformPythonInterface) - ScriptedPlatformPythonInterface::ScriptedPlatformPythonInterface( ScriptInterpreterPythonImpl &interpreter) : ScriptedPlatformInterface(), ScriptedPythonInterface(interpreter) {} @@ -97,14 +93,4 @@ Status ScriptedPlatformPythonInterface::KillProcess(lldb::pid_t pid) { return GetStatusFromMethod("kill_process", pid); } -void ScriptedPlatformPythonInterface::Initialize() { - PluginManager::RegisterPlugin( - GetPluginNameStatic(), "Mock platform and interact with its processes.", - CreateInstance, eScriptLanguagePython, {}); -} - -void ScriptedPlatformPythonInterface::Terminate() { - PluginManager::UnregisterPlugin(CreateInstance); -} - #endif // LLDB_ENABLE_PYTHON diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h index 01ee40a..0842d3a 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h @@ -10,16 +10,15 @@ #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPLATFORMPYTHONINTERFACE_H #include "lldb/Host/Config.h" -#include "lldb/Interpreter/Interfaces/ScriptedPlatformInterface.h" #if LLDB_ENABLE_PYTHON -#include "../ScriptedPythonInterface.h" +#include "ScriptedPythonInterface.h" +#include "lldb/Interpreter/Interfaces/ScriptedPlatformInterface.h" namespace lldb_private { class ScriptedPlatformPythonInterface : public ScriptedPlatformInterface, - public ScriptedPythonInterface, - public PluginInterface { + public ScriptedPythonInterface { public: ScriptedPlatformPythonInterface(ScriptInterpreterPythonImpl &interpreter); @@ -44,16 +43,6 @@ public: Status LaunchProcess(lldb::ProcessLaunchInfoSP launch_info) override; Status KillProcess(lldb::pid_t pid) override; - - static void Initialize(); - - static void Terminate(); - - static llvm::StringRef GetPluginNameStatic() { - return "ScriptedPlatformPythonInterface"; - } - - llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); } }; } // namespace lldb_private diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt deleted file mode 100644 index 7027a82..0000000 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -add_lldb_library(lldbPluginScriptedPlatformPythonInterface PLUGIN - - ScriptedPlatformPythonInterface.cpp - - LINK_LIBS - lldbCore - lldbHost - lldbInterpreter - lldbTarget - ${Python3_LIBRARIES} - ${LLDB_LIBEDIT_LIBS} - - LINK_COMPONENTS - Support - ) diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp index e08b0d6..313c597 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp @@ -6,8 +6,11 @@ // //===----------------------------------------------------------------------===// -#include "lldb/Core/PluginManager.h" #include "lldb/Host/Config.h" +#if LLDB_ENABLE_PYTHON +// LLDB Python header must be included first +#include "../lldb-python.h" +#endif #include "lldb/Target/Process.h" #include "lldb/Utility/Log.h" #include "lldb/Utility/Status.h" @@ -15,16 +18,10 @@ #if LLDB_ENABLE_PYTHON -// clang-format off -// LLDB Python header must be included first -#include "../../lldb-python.h" -//clang-format on - -#include "../../SWIGPythonBridge.h" -#include "../../ScriptInterpreterPythonImpl.h" -#include "../ScriptedThreadPythonInterface.h" +#include "../SWIGPythonBridge.h" +#include "../ScriptInterpreterPythonImpl.h" #include "ScriptedProcessPythonInterface.h" - +#include "ScriptedThreadPythonInterface.h" #include <optional> using namespace lldb; @@ -32,8 +29,6 @@ using namespace lldb_private; using namespace lldb_private::python; using Locker = ScriptInterpreterPythonImpl::Locker; -LLDB_PLUGIN_DEFINE(ScriptedProcessPythonInterface) - ScriptedProcessPythonInterface::ScriptedProcessPythonInterface( ScriptInterpreterPythonImpl &interpreter) : ScriptedProcessInterface(), ScriptedPythonInterface(interpreter) {} @@ -213,24 +208,4 @@ StructuredData::DictionarySP ScriptedProcessPythonInterface::GetMetadata() { return dict; } -void ScriptedProcessPythonInterface::Initialize() { - const std::vector<llvm::StringRef> ci_usages = { - "process attach -C <script-name> [-k key -v value ...]", - "process launch -C <script-name> [-k key -v value ...]"}; - const std::vector<llvm::StringRef> api_usages = { - "SBAttachInfo.SetScriptedProcessClassName", - "SBAttachInfo.SetScriptedProcessDictionary", - "SBTarget.Attach", - "SBLaunchInfo.SetScriptedProcessClassName", - "SBLaunchInfo.SetScriptedProcessDictionary", - "SBTarget.Launch"}; - PluginManager::RegisterPlugin( - GetPluginNameStatic(), llvm::StringRef("Mock process state"), - CreateInstance, eScriptLanguagePython, {ci_usages, api_usages}); -} - -void ScriptedProcessPythonInterface::Terminate() { - PluginManager::UnregisterPlugin(CreateInstance); -} - #endif diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h index bb27734..c75caa9 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h @@ -10,18 +10,16 @@ #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPROCESSPYTHONINTERFACE_H #include "lldb/Host/Config.h" -#include "lldb/Interpreter/Interfaces/ScriptedProcessInterface.h" #if LLDB_ENABLE_PYTHON -#include "../ScriptedPythonInterface.h" - +#include "ScriptedPythonInterface.h" +#include "lldb/Interpreter/Interfaces/ScriptedProcessInterface.h" #include <optional> namespace lldb_private { class ScriptedProcessPythonInterface : public ScriptedProcessInterface, - public ScriptedPythonInterface, - public PluginInterface { + public ScriptedPythonInterface { public: ScriptedProcessPythonInterface(ScriptInterpreterPythonImpl &interpreter); @@ -69,16 +67,6 @@ public: StructuredData::DictionarySP GetMetadata() override; - static void Initialize(); - - static void Terminate(); - - static llvm::StringRef GetPluginNameStatic() { - return "ScriptedProcessPythonInterface"; - } - - llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); } - private: lldb::ScriptedThreadInterfaceSP CreateScriptedThreadInterface() override; }; diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt deleted file mode 100644 index 07affb0..0000000 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -add_lldb_library(lldbPluginScriptedProcessPythonInterface PLUGIN - - ScriptedProcessPythonInterface.cpp - - LINK_LIBS - lldbCore - lldbHost - lldbInterpreter - lldbTarget - ${Python3_LIBRARIES} - ${LLDB_LIBEDIT_LIBS} - - LINK_COMPONENTS - Support - ) diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp index ed0cc41..f23858c 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp @@ -6,28 +6,23 @@ // //===----------------------------------------------------------------------===// -#include "lldb/Core/PluginManager.h" #include "lldb/Host/Config.h" #include "lldb/Utility/Log.h" #include "lldb/lldb-enumerations.h" #if LLDB_ENABLE_PYTHON -// clang-format off // LLDB Python header must be included first -#include "../../lldb-python.h" -//clang-format on +#include "../lldb-python.h" -#include "../../SWIGPythonBridge.h" -#include "../../ScriptInterpreterPythonImpl.h" +#include "../SWIGPythonBridge.h" +#include "../ScriptInterpreterPythonImpl.h" #include "ScriptedThreadPlanPythonInterface.h" using namespace lldb; using namespace lldb_private; using namespace lldb_private::python; -LLDB_PLUGIN_DEFINE(ScriptedThreadPlanPythonInterface) - ScriptedThreadPlanPythonInterface::ScriptedThreadPlanPythonInterface( ScriptInterpreterPythonImpl &interpreter) : ScriptedThreadPlanInterface(), ScriptedPythonInterface(interpreter) {} @@ -107,19 +102,4 @@ ScriptedThreadPlanPythonInterface::GetStopDescription(lldb::StreamSP &stream) { return llvm::Error::success(); } -void ScriptedThreadPlanPythonInterface::Initialize() { - const std::vector<llvm::StringRef> ci_usages = { - "thread step-scripted -C <script-name> [-k key -v value ...]"}; - const std::vector<llvm::StringRef> api_usages = { - "SBThread.StepUsingScriptedThreadPlan"}; - PluginManager::RegisterPlugin( - GetPluginNameStatic(), - llvm::StringRef("Alter thread stepping logic and stop reason"), - CreateInstance, eScriptLanguagePython, {ci_usages, api_usages}); -} - -void ScriptedThreadPlanPythonInterface::Terminate() { - PluginManager::UnregisterPlugin(CreateInstance); -} - #endif diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h index c0a82f4..6ec89b9 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h @@ -10,18 +10,16 @@ #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPLANPYTHONINTERFACE_H #include "lldb/Host/Config.h" -#include "lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h" #if LLDB_ENABLE_PYTHON -#include "../ScriptedPythonInterface.h" - +#include "ScriptedPythonInterface.h" +#include "lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h" #include <optional> namespace lldb_private { class ScriptedThreadPlanPythonInterface : public ScriptedThreadPlanInterface, - public ScriptedPythonInterface, - public PluginInterface { + public ScriptedPythonInterface { public: ScriptedThreadPlanPythonInterface(ScriptInterpreterPythonImpl &interpreter); @@ -43,16 +41,6 @@ public: lldb::StateType GetRunState() override; llvm::Error GetStopDescription(lldb::StreamSP &stream) override; - - static void Initialize(); - - static void Terminate(); - - static llvm::StringRef GetPluginNameStatic() { - return "ScriptedThreadPlanPythonInterface"; - } - - llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); } }; } // namespace lldb_private diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt deleted file mode 100644 index 5c8cc97..0000000 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -add_lldb_library(lldbPluginScriptedThreadPlanPythonInterface PLUGIN - - ScriptedThreadPlanPythonInterface.cpp - - LINK_LIBS - lldbCore - lldbHost - lldbInterpreter - lldbTarget - ${Python3_LIBRARIES} - ${LLDB_LIBEDIT_LIBS} - - LINK_COMPONENTS - Support - ) diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp index b1a69c9..70fa6d8 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp @@ -14,10 +14,10 @@ // LLDB Python header must be included first #include "lldb-python.h" -#include "Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h" -#include "Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h" -#include "Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h" -#include "Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h" +#include "Interfaces/OperatingSystemPythonInterface.h" +#include "Interfaces/ScriptedPlatformPythonInterface.h" +#include "Interfaces/ScriptedProcessPythonInterface.h" +#include "Interfaces/ScriptedThreadPlanPythonInterface.h" #include "Interfaces/ScriptedThreadPythonInterface.h" #include "PythonDataObjects.h" #include "PythonReadline.h" |