9#ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPLANPYTHONINTERFACE_H
10#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPLANPYTHONINTERFACE_H
25 llvm::Expected<StructuredData::GenericSP>
29 llvm::SmallVector<AbstractMethodRequirement>
35 return {
"explains_stop",
"should_stop",
"is_stale",
"should_step",
43 llvm::Expected<bool>
IsStale()
override;
45 llvm::Expected<lldb::StateType>
GetRunState()
override;
54 return "ScriptedThreadPlanPythonInterface";
PluginInterface()=default
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
llvm::Error GetStopDescription(lldb::StreamSP &stream) override
llvm::Expected< bool > ShouldStop(Event *event) override
static llvm::StringRef GetPluginNameStatic()
llvm::Expected< bool > IsStale() override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(const ScriptedMetadata &scripted_metadata, lldb::ThreadPlanSP thread_plan_sp) override
llvm::SmallVector< llvm::StringLiteral > GetOptionalMethods() const override
Methods a script may legitimately leave out, for which LLDB has a documented answer.
ScriptedThreadPlanPythonInterface(ScriptInterpreterPythonImpl &interpreter)
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
llvm::StringRef GetPluginName() override
llvm::Expected< bool > ExplainsStop(Event *event) override
llvm::Expected< lldb::StateType > GetRunState() override
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
std::shared_ptr< lldb_private::Stream > StreamSP