|
LLDB mainline
|
#include <ScriptedFrameProviderPythonInterface.h>
Public Member Functions | |
| ScriptedFrameProviderPythonInterface (ScriptInterpreterPythonImpl &interpreter) | |
| bool | AppliesToThread (llvm::StringRef class_name, lldb::ThreadSP thread_sp) override |
| llvm::Expected< StructuredData::GenericSP > | CreatePluginObject (llvm::StringRef class_name, lldb::StackFrameListSP input_frames, StructuredData::DictionarySP args_sp) override |
| llvm::SmallVector< AbstractMethodRequirement > | GetAbstractMethodRequirements () const override |
| std::string | GetDescription (llvm::StringRef class_name) override |
| Get a description string for the frame provider. | |
| std::optional< uint32_t > | GetPriority (llvm::StringRef class_name) override |
| Get the priority of this frame provider. | |
| StructuredData::ObjectSP | GetFrameAtIndex (uint32_t index) override |
| llvm::StringRef | GetPluginName () override |
| Public Member Functions inherited from lldb_private::ScriptedInterface | |
| ScriptedInterface ()=default | |
| virtual | ~ScriptedInterface ()=default |
| StructuredData::GenericSP | GetScriptObjectInstance () |
| llvm::SmallVector< llvm::StringLiteral > const | GetAbstractMethods () const |
| Public Member Functions inherited from lldb_private::ScriptedPythonInterface | |
| ScriptedPythonInterface (ScriptInterpreterPythonImpl &interpreter) | |
| ~ScriptedPythonInterface () override=default | |
| llvm::Expected< FileSpec > | GetScriptedModulePath () override |
| llvm::Expected< std::map< llvm::StringLiteral, AbstractMethodCheckerPayload > > | CheckAbstractMethodImplementation (const python::PythonDictionary &class_dict) const |
| template<typename... Args> | |
| llvm::Expected< StructuredData::GenericSP > | CreatePluginObject (llvm::StringRef class_name, StructuredData::Generic *script_obj, Args... args) |
| template<typename T = StructuredData::ObjectSP, typename... Args> | |
| T | CallStaticMethod (llvm::StringRef class_name, llvm::StringRef method_name, Status &error, Args &&...args) |
| Call a static method on a Python class without creating an instance. | |
| Public Member Functions inherited from lldb_private::PluginInterface | |
| PluginInterface ()=default | |
| virtual | ~PluginInterface ()=default |
| PluginInterface (const PluginInterface &)=delete | |
| PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
| static void | Initialize () |
| static void | Terminate () |
| static bool | CreateInstance (lldb::ScriptLanguage language, ScriptedInterfaceUsages usages) |
| static llvm::StringRef | GetPluginNameStatic () |
| Static Public Member Functions inherited from lldb_private::ScriptedInterface | |
| template<typename Ret> | |
| static Ret | ErrorWithMessage (llvm::StringRef caller_name, llvm::StringRef error_msg, Status &error, LLDBLog log_category=LLDBLog::Process) |
| template<typename T = StructuredData::ObjectSP> | |
| static bool | CheckStructuredDataObject (llvm::StringRef caller, T obj, Status &error) |
| static bool | CreateInstance (lldb::ScriptLanguage language, ScriptedInterfaceUsages usages) |
Definition at line 18 of file ScriptedFrameProviderPythonInterface.h.
| ScriptedFrameProviderPythonInterface::ScriptedFrameProviderPythonInterface | ( | ScriptInterpreterPythonImpl & | interpreter | ) |
Definition at line 27 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedPythonInterface::ScriptedPythonInterface().
|
overridevirtual |
Reimplemented from lldb_private::ScriptedFrameProviderInterface.
Definition at line 31 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedPythonInterface::CallStaticMethod(), lldb_private::ScriptedInterface::CheckStructuredDataObject(), and error().
|
static |
Definition at line 100 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb::eScriptLanguagePython.
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Implements lldb_private::ScriptedFrameProviderInterface.
Definition at line 47 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedPythonInterface::CreatePluginObject().
|
inlineoverridevirtual |
Implements lldb_private::ScriptedInterface.
Definition at line 35 of file ScriptedFrameProviderPythonInterface.h.
|
overridevirtual |
Get a description string for the frame provider.
This is called by the descriptor to fetch a description from the scripted implementation. Implementations should call a static method on the scripting class to retrieve the description.
| class_name | The name of the scripting class implementing the provider. |
Reimplemented from lldb_private::ScriptedFrameProviderInterface.
Definition at line 58 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedPythonInterface::CallStaticMethod(), lldb_private::ScriptedInterface::CheckStructuredDataObject(), and error().
|
overridevirtual |
Reimplemented from lldb_private::ScriptedFrameProviderInterface.
Definition at line 89 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedInterface::CheckStructuredDataObject(), lldb_private::ScriptedPythonInterface::Dispatch(), and error().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 56 of file ScriptedFrameProviderPythonInterface.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 52 of file ScriptedFrameProviderPythonInterface.h.
Referenced by GetPluginName(), and Initialize().
|
overridevirtual |
Get the priority of this frame provider.
This is called by the descriptor to fetch the priority from the scripted implementation. Implementations should call a static method on the scripting class to retrieve the priority. Lower numbers indicate higher priority (like Unix nice values).
| class_name | The name of the scripting class implementing the provider. |
Reimplemented from lldb_private::ScriptedFrameProviderInterface.
Definition at line 71 of file ScriptedFrameProviderPythonInterface.cpp.
References lldb_private::ScriptedPythonInterface::CallStaticMethod(), lldb_private::ScriptedInterface::CheckStructuredDataObject(), and error().
|
static |
Definition at line 108 of file ScriptedFrameProviderPythonInterface.cpp.
References CreateInstance(), lldb::eScriptLanguagePython, GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
Referenced by lldb_private::ScriptInterpreterPythonInterfaces::Initialize().
|
static |
Definition at line 124 of file ScriptedFrameProviderPythonInterface.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
Referenced by lldb_private::ScriptInterpreterPythonInterfaces::Terminate().