LLDB mainline
ScriptedThreadPythonInterface.h
Go to the documentation of this file.
1//===-- ScriptedThreadPythonInterface.h ------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPYTHONINTERFACE_H
10#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPYTHONINTERFACE_H
11
14#include <optional>
15
16namespace lldb_private {
19public:
21
22 llvm::Expected<StructuredData::GenericSP>
23 CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx,
25 StructuredData::Generic *script_obj = nullptr) override;
26
27 llvm::SmallVector<AbstractMethodRequirement>
29 return llvm::SmallVector<AbstractMethodRequirement>(
30 {{"get_stop_reason"}, {"get_register_context"}});
31 }
32
33 lldb::tid_t GetThreadID() override;
34
35 std::optional<std::string> GetName() override;
36
37 lldb::StateType GetState() override;
38
39 std::optional<std::string> GetQueue() override;
40
42
44
46
47 std::optional<std::string> GetRegisterContext() override;
48
50
51 std::optional<std::string> GetScriptedFramePluginName() override;
52
53protected:
55};
56} // namespace lldb_private
57
58#endif // LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPYTHONINTERFACE_H
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
std::optional< std::string > GetScriptedFramePluginName() override
StructuredData::DictionarySP GetStopReason() override
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
StructuredData::DictionarySP GetRegisterInfo() override
std::optional< std::string > GetRegisterContext() override
ScriptedThreadPythonInterface(ScriptInterpreterPythonImpl &interpreter)
lldb::ScriptedFrameInterfaceSP CreateScriptedFrameInterface() override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, StructuredData::DictionarySP args_sp, StructuredData::Generic *script_obj=nullptr) override
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Array > ArraySP
A class that represents a running process on the host machine.
StateType
Process and Thread States.
uint64_t tid_t
Definition lldb-types.h:84
std::shared_ptr< lldb_private::ScriptedFrameInterface > ScriptedFrameInterfaceSP