LLDB mainline
lldb_private::ScriptInterpreterBridge Class Reference

Unwraps the opaque internal object held by an SB (public API) instance, for scripting-language plugins that need to convert values passed across the script callback boundary back to their lldb_private form. More...

#include <ScriptInterpreterBridge.h>

Static Public Member Functions

static lldb::DataExtractorSP GetDataExtractor (const lldb::SBData &data)
static lldb::ThreadPlanSP GetThreadPlan (const lldb::SBThreadPlan &thread_plan)
static Status GetStatus (const lldb::SBError &error)
static EventGetEvent (const lldb::SBEvent &event)
static lldb::StreamSP GetStream (const lldb::SBStream &stream)
static lldb::ThreadSP GetThread (const lldb::SBThread &thread)
static lldb::StackFrameSP GetStackFrame (const lldb::SBFrame &frame)
static SymbolContext GetSymbolContext (const lldb::SBSymbolContext &sym_ctx)
static lldb::BreakpointSP GetBreakpoint (const lldb::SBBreakpoint &breakpoint)
static lldb::BreakpointLocationSP GetBreakpointLocation (const lldb::SBBreakpointLocation &break_loc)
static CommandReturnObjectGetCommandReturnObject (const lldb::SBCommandReturnObject &cmd_retobj)
static lldb::DebuggerSP GetDebugger (const lldb::SBDebugger &debugger)
static lldb::ProcessAttachInfoSP GetProcessAttachInfo (const lldb::SBAttachInfo &attach_info)
static lldb::ProcessLaunchInfoSP GetProcessLaunchInfo (const lldb::SBLaunchInfo &launch_info)
static std::optional< MemoryRegionInfoGetMemoryRegionInfo (const lldb::SBMemoryRegionInfo &mem_region)
static lldb::ExecutionContextRefSP GetExecutionContextRef (const lldb::SBExecutionContext &exe_ctx)
static lldb::StackFrameListSP GetStackFrameList (const lldb::SBFrameList &frame_list)
static lldb::ValueObjectSP GetValueObject (const lldb::SBValue &value)
static lldb::TargetSP GetTarget (const lldb::SBTarget &target)

Detailed Description

Unwraps the opaque internal object held by an SB (public API) instance, for scripting-language plugins that need to convert values passed across the script callback boundary back to their lldb_private form.

Every SB class this needs to reach into grants friendship to this class alone, so that access to API internals stays confined to this single bridge rather than spreading across the Interpreter layer.

Definition at line 30 of file ScriptInterpreterBridge.h.

Member Function Documentation

◆ GetBreakpoint()

lldb::BreakpointSP ScriptInterpreterBridge::GetBreakpoint ( const lldb::SBBreakpoint & breakpoint)
static

Definition at line 50 of file ScriptInterpreterBridge.cpp.

References lldb::SBBreakpoint::m_opaque_wp.

◆ GetBreakpointLocation()

lldb::BreakpointLocationSP ScriptInterpreterBridge::GetBreakpointLocation ( const lldb::SBBreakpointLocation & break_loc)
static

◆ GetCommandReturnObject()

CommandReturnObject * ScriptInterpreterBridge::GetCommandReturnObject ( const lldb::SBCommandReturnObject & cmd_retobj)
static

◆ GetDataExtractor()

lldb::DataExtractorSP ScriptInterpreterBridge::GetDataExtractor ( const lldb::SBData & data)
static

Definition at line 40 of file ScriptInterpreterBridge.cpp.

References lldb::SBData::m_opaque_sp.

◆ GetDebugger()

lldb::DebuggerSP ScriptInterpreterBridge::GetDebugger ( const lldb::SBDebugger & debugger)
static

Definition at line 65 of file ScriptInterpreterBridge.cpp.

References lldb::SBDebugger::m_opaque_sp.

◆ GetEvent()

Event * ScriptInterpreterBridge::GetEvent ( const lldb::SBEvent & event)
static

Definition at line 101 of file ScriptInterpreterBridge.cpp.

◆ GetExecutionContextRef()

lldb::ExecutionContextRefSP ScriptInterpreterBridge::GetExecutionContextRef ( const lldb::SBExecutionContext & exe_ctx)
static

◆ GetMemoryRegionInfo()

std::optional< lldb_private::MemoryRegionInfo > ScriptInterpreterBridge::GetMemoryRegionInfo ( const lldb::SBMemoryRegionInfo & mem_region)
static

◆ GetProcessAttachInfo()

lldb::ProcessAttachInfoSP ScriptInterpreterBridge::GetProcessAttachInfo ( const lldb::SBAttachInfo & attach_info)
static

Definition at line 69 of file ScriptInterpreterBridge.cpp.

References lldb::SBAttachInfo::m_opaque_sp.

◆ GetProcessLaunchInfo()

lldb::ProcessLaunchInfoSP ScriptInterpreterBridge::GetProcessLaunchInfo ( const lldb::SBLaunchInfo & launch_info)
static

Definition at line 74 of file ScriptInterpreterBridge.cpp.

References lldb::SBLaunchInfo::m_opaque_sp.

◆ GetStackFrame()

lldb::StackFrameSP ScriptInterpreterBridge::GetStackFrame ( const lldb::SBFrame & frame)
static

Definition at line 95 of file ScriptInterpreterBridge.cpp.

References lldb::SBFrame::m_opaque_sp.

◆ GetStackFrameList()

lldb::StackFrameListSP ScriptInterpreterBridge::GetStackFrameList ( const lldb::SBFrameList & frame_list)
static

Definition at line 136 of file ScriptInterpreterBridge.cpp.

References lldb::SBFrameList::m_opaque_sp.

◆ GetStatus()

Status ScriptInterpreterBridge::GetStatus ( const lldb::SBError & error)
static

Definition at line 80 of file ScriptInterpreterBridge.cpp.

References error(), and lldb_private::Status.

◆ GetStream()

lldb::StreamSP ScriptInterpreterBridge::GetStream ( const lldb::SBStream & stream)
static

Definition at line 106 of file ScriptInterpreterBridge.cpp.

References lldb::SBStream::m_opaque_up.

◆ GetSymbolContext()

SymbolContext ScriptInterpreterBridge::GetSymbolContext ( const lldb::SBSymbolContext & sym_ctx)
static

Definition at line 116 of file ScriptInterpreterBridge.cpp.

References lldb::SBSymbolContext::m_opaque_up.

◆ GetTarget()

lldb::TargetSP ScriptInterpreterBridge::GetTarget ( const lldb::SBTarget & target)
static

Definition at line 142 of file ScriptInterpreterBridge.cpp.

References lldb::SBTarget::m_opaque_sp.

◆ GetThread()

lldb::ThreadSP ScriptInterpreterBridge::GetThread ( const lldb::SBThread & thread)
static

Definition at line 88 of file ScriptInterpreterBridge.cpp.

◆ GetThreadPlan()

lldb::ThreadPlanSP ScriptInterpreterBridge::GetThreadPlan ( const lldb::SBThreadPlan & thread_plan)
static

Definition at line 45 of file ScriptInterpreterBridge.cpp.

References lldb::SBThreadPlan::GetSP().

◆ GetValueObject()

lldb::ValueObjectSP ScriptInterpreterBridge::GetValueObject ( const lldb::SBValue & value)
static

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