summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface')
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt15
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp101
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h60
3 files changed, 0 insertions, 176 deletions
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 a0264962ec0b..000000000000
--- 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/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
deleted file mode 100644
index 34a2021601e8..000000000000
--- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
+++ /dev/null
@@ -1,101 +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/Core/PluginManager.h"
-#include "lldb/Host/Config.h"
-#include "lldb/Target/ExecutionContext.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 "../../SWIGPythonBridge.h"
-#include "../../ScriptInterpreterPythonImpl.h"
-#include "OperatingSystemPythonInterface.h"
-
-using namespace lldb;
-using namespace lldb_private;
-using namespace lldb_private::python;
-using Locker = ScriptInterpreterPythonImpl::Locker;
-
-LLDB_PLUGIN_DEFINE(OperatingSystemPythonInterface)
-
-OperatingSystemPythonInterface::OperatingSystemPythonInterface(
- ScriptInterpreterPythonImpl &interpreter)
- : OperatingSystemInterface(), ScriptedThreadPythonInterface(interpreter) {}
-
-llvm::Expected<StructuredData::GenericSP>
-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<StructuredData::DictionarySP>(
- "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<StructuredData::ArraySP>("get_thread_info", error);
-
- if (!ScriptedInterface::CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, arr,
- error))
- return {};
-
- return arr;
-}
-
-StructuredData::DictionarySP OperatingSystemPythonInterface::GetRegisterInfo() {
- return ScriptedThreadPythonInterface::GetRegisterInfo();
-}
-
-std::optional<std::string>
-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();
-}
-
-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/OperatingSystemPythonInterface.h
deleted file mode 100644
index 6d60f8b437d1..000000000000
--- a/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
+++ /dev/null
@@ -1,60 +0,0 @@
-//===-- OperatingSystemPythonInterface.h ------------------------*- C++ -*-===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_OPERATINGSYSTEMPYTHONINTERFACE_H
-#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 <optional>
-
-namespace lldb_private {
-class OperatingSystemPythonInterface
- : virtual public OperatingSystemInterface,
- virtual public ScriptedThreadPythonInterface,
- public PluginInterface {
-public:
- OperatingSystemPythonInterface(ScriptInterpreterPythonImpl &interpreter);
-
- llvm::Expected<StructuredData::GenericSP>
- CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx,
- StructuredData::DictionarySP args_sp,
- StructuredData::Generic *script_obj = nullptr) override;
-
- llvm::SmallVector<llvm::StringLiteral> GetAbstractMethods() const override {
- return llvm::SmallVector<llvm::StringLiteral>({"get_thread_info"});
- }
-
- StructuredData::DictionarySP CreateThread(lldb::tid_t tid,
- lldb::addr_t context) override;
-
- StructuredData::ArraySP GetThreadInfo() override;
-
- 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
-
-#endif // LLDB_ENABLE_PYTHON
-#endif // LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_OPERATINGSYSTEMPYTHONINTERFACE_H