LLDB mainline
Public Member Functions | List of all members
lldb_private::ExecutionContextScope Class Referenceabstract

"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution context. More...

#include <ExecutionContextScope.h>

Inheritance diagram for lldb_private::ExecutionContextScope:
Inheritance graph
[legend]

Public Member Functions

virtual ~ExecutionContextScope ()=default
 
virtual lldb::TargetSP CalculateTarget ()=0
 
virtual lldb::ProcessSP CalculateProcess ()=0
 
virtual lldb::ThreadSP CalculateThread ()=0
 
virtual lldb::StackFrameSP CalculateStackFrame ()=0
 
virtual void CalculateExecutionContext (ExecutionContext &exe_ctx)=0
 Reconstruct the object's execution context into sc.
 

Detailed Description

"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution context.

Many objects that have pointers back to parent execution context objects can inherit from this pure virtual class can reconstruct their execution context without having to keep a complete ExecutionContext object in the object state. Examples of these objects include: Process, Thread, RegisterContext and StackFrame.

Objects can contain a valid pointer to an instance of this so they can reconstruct the execution context.

Objects that adhere to this protocol can reconstruct enough of a execution context to allow functions that take a execution contexts to be called.

Definition at line 32 of file ExecutionContextScope.h.

Constructor & Destructor Documentation

◆ ~ExecutionContextScope()

virtual lldb_private::ExecutionContextScope::~ExecutionContextScope ( )
virtualdefault

Member Function Documentation

◆ CalculateExecutionContext()

virtual void lldb_private::ExecutionContextScope::CalculateExecutionContext ( ExecutionContext exe_ctx)
pure virtual

Reconstruct the object's execution context into sc.

The object should fill in as much of the ExecutionContextScope as it can so function calls that require a execution context can be made for the given object.

Parameters
[out]exe_ctxA reference to an execution context object that gets filled in.

Implemented in lldb_private::Process, lldb_private::RegisterContext, lldb_private::StackFrame, lldb_private::Target, and lldb_private::Thread.

Referenced by DumpInstructions(), lldb_private::Target::EvaluateExpression(), lldb_private::ExecutionContext::ExecutionContext(), lldb_private::AppleObjCRuntime::GetObjectDescription(), ReadAddress(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().

◆ CalculateProcess()

virtual lldb::ProcessSP lldb_private::ExecutionContextScope::CalculateProcess ( )
pure virtual

◆ CalculateStackFrame()

virtual lldb::StackFrameSP lldb_private::ExecutionContextScope::CalculateStackFrame ( )
pure virtual

◆ CalculateTarget()

virtual lldb::TargetSP lldb_private::ExecutionContextScope::CalculateTarget ( )
pure virtual

◆ CalculateThread()

virtual lldb::ThreadSP lldb_private::ExecutionContextScope::CalculateThread ( )
pure virtual

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