From 43ca63149dfbaa401a3bcee8b4835dccbac6d832 Mon Sep 17 00:00:00 2001 From: Med Ismail Bennani Date: Tue, 23 Jul 2024 10:19:52 -0700 Subject: [lldb/Commands] Add `scripting template list` command with auto discovery (#97273) This patch introduces a new `template` multiword sub-command to the `scripting` top-level command. As the name suggests, this sub-command operates on scripting templates, and currently has the ability to automatically discover the various scripting extensions that lldb supports. Signed-off-by: Med Ismail Bennani --- .../Interfaces/OperatingSystemPythonInterface.cpp | 82 ---------------------- 1 file changed, 82 deletions(-) delete mode 100644 lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp') diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp deleted file mode 100644 index c162c7367c65..000000000000 --- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp +++ /dev/null @@ -1,82 +0,0 @@ -//===-- ScriptedThreadPythonInterface.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/Host/Config.h" -#include "lldb/Target/ExecutionContext.h" -#include "lldb/Utility/Log.h" -#include "lldb/lldb-enumerations.h" - -#if LLDB_ENABLE_PYTHON - -// LLDB Python header must be included first -#include "../lldb-python.h" - -#include "../SWIGPythonBridge.h" -#include "../ScriptInterpreterPythonImpl.h" -#include "OperatingSystemPythonInterface.h" - -using namespace lldb; -using namespace lldb_private; -using namespace lldb_private::python; -using Locker = ScriptInterpreterPythonImpl::Locker; - -OperatingSystemPythonInterface::OperatingSystemPythonInterface( - ScriptInterpreterPythonImpl &interpreter) - : OperatingSystemInterface(), ScriptedThreadPythonInterface(interpreter) {} - -llvm::Expected -OperatingSystemPythonInterface::CreatePluginObject( - llvm::StringRef class_name, ExecutionContext &exe_ctx, - StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj) { - return ScriptedPythonInterface::CreatePluginObject(class_name, nullptr, - exe_ctx.GetProcessSP()); -} - -StructuredData::DictionarySP -OperatingSystemPythonInterface::CreateThread(lldb::tid_t tid, - lldb::addr_t context) { - Status error; - StructuredData::DictionarySP dict = Dispatch( - "create_thread", error, tid, context); - - if (!ScriptedInterface::CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, dict, - error)) - return {}; - - return dict; -} - -StructuredData::ArraySP OperatingSystemPythonInterface::GetThreadInfo() { - Status error; - StructuredData::ArraySP arr = - Dispatch("get_thread_info", error); - - if (!ScriptedInterface::CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, arr, - error)) - return {}; - - return arr; -} - -StructuredData::DictionarySP OperatingSystemPythonInterface::GetRegisterInfo() { - return ScriptedThreadPythonInterface::GetRegisterInfo(); -} - -std::optional -OperatingSystemPythonInterface::GetRegisterContextForTID(lldb::tid_t tid) { - Status error; - StructuredData::ObjectSP obj = Dispatch("get_register_data", error, tid); - - if (!ScriptedInterface::CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, obj, - error)) - return {}; - - return obj->GetAsString()->GetValue().str(); -} - -#endif -- cgit v1.2.3