9#ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPROVIDERPYTHONINTERFACE_H
10#define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPROVIDERPYTHONINTERFACE_H
29 llvm::Expected<StructuredData::GenericSP>
34 llvm::SmallVector<AbstractMethodRequirement>
36 return llvm::SmallVector<AbstractMethodRequirement>(
37 {{
"get_description"}, {
"get_frame_at_index"}});
42 std::optional<uint32_t>
GetPriority(llvm::StringRef class_name)
override;
53 return "ScriptedFrameProviderPythonInterface";
PluginInterface()=default
static bool CreateInstance(lldb::ScriptLanguage language, ScriptedInterfaceUsages usages)
StructuredData::ObjectSP GetFrameAtIndex(uint32_t index) override
ScriptedFrameProviderPythonInterface(ScriptInterpreterPythonImpl &interpreter)
std::optional< uint32_t > GetPriority(llvm::StringRef class_name) override
Get the priority of this frame provider.
llvm::SmallVector< AbstractMethodRequirement > GetAbstractMethodRequirements() const override
llvm::StringRef GetPluginName() override
llvm::Expected< StructuredData::GenericSP > CreatePluginObject(llvm::StringRef class_name, lldb::StackFrameListSP input_frames, StructuredData::DictionarySP args_sp) override
bool AppliesToThread(llvm::StringRef class_name, lldb::ThreadSP thread_sp) override
static llvm::StringRef GetPluginNameStatic()
std::string GetDescription(llvm::StringRef class_name) override
Get a description string for the frame provider.
ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter)
std::shared_ptr< Dictionary > DictionarySP
std::shared_ptr< Object > ObjectSP
A class that represents a running process on the host machine.
ScriptLanguage
Script interpreter types.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::StackFrameList > StackFrameListSP