9#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPROVIDERPYTHONINTERFACE_H
10#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDFRAMEPROVIDERPYTHONINTERFACE_H
12#include "lldb/Host/Config.h"
22class ScriptedFrameProviderPythonInterface
24 public ScriptedPythonInterface,
27 ScriptedFrameProviderPythonInterface(
28 ScriptInterpreterPythonImpl &interpreter);
30 bool AppliesToThread(llvm::StringRef class_name,
33 llvm::Expected<StructuredData::GenericSP>
34 CreatePluginObject(llvm::StringRef class_name,
36 StructuredData::DictionarySP args_sp)
override;
38 llvm::SmallVector<AbstractMethodRequirement>
39 GetAbstractMethodRequirements()
const override {
40 return llvm::SmallVector<AbstractMethodRequirement>(
41 {{
"get_description"}, {
"get_frame_at_index"}});
44 std::string GetDescription(llvm::StringRef class_name)
override;
46 StructuredData::ObjectSP GetFrameAtIndex(uint32_t index)
override;
48 static void Initialize();
49 static void Terminate();
52 ScriptedInterfaceUsages usages);
54 static llvm::StringRef GetPluginNameStatic() {
55 return "ScriptedFrameProviderPythonInterface";
58 llvm::StringRef GetPluginName()
override {
return GetPluginNameStatic(); }
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