LLDB mainline
lldb_private::ScriptedFrameProvider Class Reference

#include <ScriptedFrameProvider.h>

Inheritance diagram for lldb_private::ScriptedFrameProvider:
[legend]

Public Member Functions

 ScriptedFrameProvider (lldb::StackFrameListSP input_frames, lldb::ScriptedFrameProviderInterfaceSP interface_sp, const ScriptedFrameProviderDescriptor &descriptor)
 ~ScriptedFrameProvider () override
llvm::StringRef GetPluginName () override
std::string GetDescription () const override
std::optional< uint32_t > GetPriority () const override
 Get the priority of this frame provider.
llvm::Expected< lldb::StackFrameSPGetFrameAtIndex (uint32_t idx) override
 Get a single stack frame at the specified index.
Public Member Functions inherited from lldb_private::SyntheticFrameProvider
 ~SyntheticFrameProvider () override
ThreadGetThread ()
 Get the thread associated with this provider.
lldb::StackFrameListSP GetInputFrames () const
 Get the input frames that this provider transforms.
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static llvm::StringRef GetPluginNameStatic ()
static llvm::Expected< lldb::SyntheticFrameProviderSPCreateInstance (lldb::StackFrameListSP input_frames, const ScriptedFrameProviderDescriptor &descriptor)
static void Initialize ()
static void Terminate ()
Static Public Member Functions inherited from lldb_private::SyntheticFrameProvider
static llvm::Expected< lldb::SyntheticFrameProviderSPCreateInstance (lldb::StackFrameListSP input_frames, const ScriptedFrameProviderDescriptor &descriptor)
 Try to create a SyntheticFrameProvider instance for the given input frames and descriptor.
static llvm::Expected< lldb::SyntheticFrameProviderSPCreateInstance (lldb::StackFrameListSP input_frames, llvm::StringRef plugin_name, const std::vector< ThreadSpec > &thread_specs={})
 Try to create a SyntheticFrameProvider instance for the given input frames using a specific C++ plugin.

Private Attributes

lldb::ScriptedFrameProviderInterfaceSP m_interface_sp
const ScriptedFrameProviderDescriptorm_descriptor

Additional Inherited Members

Protected Member Functions inherited from lldb_private::SyntheticFrameProvider
 SyntheticFrameProvider (lldb::StackFrameListSP input_frames)
Protected Attributes inherited from lldb_private::SyntheticFrameProvider
lldb::StackFrameListSP m_input_frames

Detailed Description

Definition at line 20 of file ScriptedFrameProvider.h.

Constructor & Destructor Documentation

◆ ScriptedFrameProvider()

ScriptedFrameProvider::ScriptedFrameProvider ( lldb::StackFrameListSP input_frames,
lldb::ScriptedFrameProviderInterfaceSP interface_sp,
const ScriptedFrameProviderDescriptor & descriptor )

◆ ~ScriptedFrameProvider()

ScriptedFrameProvider::~ScriptedFrameProvider ( )
overridedefault

Member Function Documentation

◆ CreateInstance()

◆ GetDescription()

std::string ScriptedFrameProvider::GetDescription ( ) const
overridevirtual

Implements lldb_private::SyntheticFrameProvider.

Definition at line 102 of file ScriptedFrameProvider.cpp.

References m_descriptor, and m_interface_sp.

◆ GetFrameAtIndex()

◆ GetPluginName()

llvm::StringRef lldb_private::ScriptedFrameProvider::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 39 of file ScriptedFrameProvider.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::ScriptedFrameProvider::GetPluginNameStatic ( )
inlinestatic

Definition at line 22 of file ScriptedFrameProvider.h.

Referenced by GetPluginName(), and Initialize().

◆ GetPriority()

std::optional< uint32_t > ScriptedFrameProvider::GetPriority ( ) const
overridevirtual

Get the priority of this frame provider.

Priority determines the order in which providers are evaluated when multiple providers could apply to the same thread. Lower numbers indicate higher priority (like Unix nice values).

Returns
Priority value where 0 is highest priority, or std::nullopt for default priority (UINT32_MAX - lowest priority).

Reimplemented from lldb_private::SyntheticFrameProvider.

Definition at line 109 of file ScriptedFrameProvider.cpp.

References m_descriptor, and m_interface_sp.

◆ Initialize()

void ScriptedFrameProvider::Initialize ( )
static

◆ Terminate()

void ScriptedFrameProvider::Terminate ( )
static

Member Data Documentation

◆ m_descriptor

const ScriptedFrameProviderDescriptor& lldb_private::ScriptedFrameProvider::m_descriptor
private

Definition at line 50 of file ScriptedFrameProvider.h.

Referenced by GetDescription(), GetPriority(), and ScriptedFrameProvider().

◆ m_interface_sp

lldb::ScriptedFrameProviderInterfaceSP lldb_private::ScriptedFrameProvider::m_interface_sp
private

The documentation for this class was generated from the following files: