LLDB mainline
lldb_private::ValueObjectConstResultImpl Class Reference

A class wrapping common implementation details for operations in ValueObjectConstResult ( & Child ) that may need to jump from the host memory space into the target's memory space. More...

#include <ValueObjectConstResultImpl.h>

Public Member Functions

 ValueObjectConstResultImpl (ValueObject *valobj, lldb::addr_t live_address=LLDB_INVALID_ADDRESS)
virtual ~ValueObjectConstResultImpl ()=default
lldb::ValueObjectSP Dereference (Status &error)
ValueObjectCreateChildAtIndex (size_t idx)
ValueObjectCreateSyntheticArrayMember (size_t idx)
lldb::ValueObjectSP GetSyntheticChildAtOffset (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString())
lldb::ValueObjectSP AddressOf (Status &error)
lldb::addr_t GetLiveAddress ()
lldb::ValueObjectSP Cast (const CompilerType &compiler_type)
void SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad)
virtual ValueObject::AddrAndType GetAddressOf (bool scalar_is_load_address=true)
virtual size_t GetPointeeData (DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1)

Private Member Functions

 ValueObjectConstResultImpl (const ValueObjectConstResultImpl &)=delete
const ValueObjectConstResultImploperator= (const ValueObjectConstResultImpl &)=delete

Private Attributes

ValueObjectm_impl_backend
lldb::addr_t m_live_address
 The memory address in the inferior process that this ValueObject tracks.
AddressType m_live_address_type
lldb::ValueObjectSP m_address_of_backend

Detailed Description

A class wrapping common implementation details for operations in ValueObjectConstResult ( & Child ) that may need to jump from the host memory space into the target's memory space.

Definition at line 32 of file ValueObjectConstResultImpl.h.

Constructor & Destructor Documentation

◆ ValueObjectConstResultImpl() [1/2]

ValueObjectConstResultImpl::ValueObjectConstResultImpl ( ValueObject * valobj,
lldb::addr_t live_address = LLDB_INVALID_ADDRESS )

◆ ~ValueObjectConstResultImpl()

virtual lldb_private::ValueObjectConstResultImpl::~ValueObjectConstResultImpl ( )
virtualdefault

References error().

◆ ValueObjectConstResultImpl() [2/2]

lldb_private::ValueObjectConstResultImpl::ValueObjectConstResultImpl ( const ValueObjectConstResultImpl & )
privatedelete

Member Function Documentation

◆ AddressOf()

◆ Cast()

lldb::ValueObjectSP ValueObjectConstResultImpl::Cast ( const CompilerType & compiler_type)

◆ CreateChildAtIndex()

◆ CreateSyntheticArrayMember()

◆ Dereference()

lldb::ValueObjectSP ValueObjectConstResultImpl::Dereference ( Status & error)

Definition at line 41 of file ValueObjectConstResultImpl.cpp.

References error(), and m_impl_backend.

◆ GetAddressOf()

ValueObject::AddrAndType ValueObjectConstResultImpl::GetAddressOf ( bool scalar_is_load_address = true)
virtual

◆ GetLiveAddress()

lldb::addr_t lldb_private::ValueObjectConstResultImpl::GetLiveAddress ( )
inline

Definition at line 51 of file ValueObjectConstResultImpl.h.

References m_live_address.

◆ GetPointeeData()

size_t ValueObjectConstResultImpl::GetPointeeData ( DataExtractor & data,
uint32_t item_idx = 0,
uint32_t item_count = 1 )
virtual

Definition at line 221 of file ValueObjectConstResultImpl.cpp.

References m_impl_backend.

◆ GetSyntheticChildAtOffset()

lldb::ValueObjectSP ValueObjectConstResultImpl::GetSyntheticChildAtOffset ( uint32_t offset,
const CompilerType & type,
bool can_create,
ConstString name_const_str = ConstString() )

Definition at line 160 of file ValueObjectConstResultImpl.cpp.

References m_impl_backend.

◆ operator=()

const ValueObjectConstResultImpl & lldb_private::ValueObjectConstResultImpl::operator= ( const ValueObjectConstResultImpl & )
privatedelete

◆ SetLiveAddress()

void lldb_private::ValueObjectConstResultImpl::SetLiveAddress ( lldb::addr_t addr = LLDB_INVALID_ADDRESS,
AddressType address_type = eAddressTypeLoad )
inline

Member Data Documentation

◆ m_address_of_backend

lldb::ValueObjectSP lldb_private::ValueObjectConstResultImpl::m_address_of_backend
private

Definition at line 75 of file ValueObjectConstResultImpl.h.

Referenced by AddressOf(), and ValueObjectConstResultImpl().

◆ m_impl_backend

◆ m_live_address

lldb::addr_t lldb_private::ValueObjectConstResultImpl::m_live_address
private

The memory address in the inferior process that this ValueObject tracks.

This address is used to request additional memory when the actual data size exceeds the initial local buffer size, such as when a dynamic type resolution results in a type larger than its statically determined type.

Definition at line 73 of file ValueObjectConstResultImpl.h.

Referenced by AddressOf(), Cast(), CreateChildAtIndex(), CreateSyntheticArrayMember(), GetAddressOf(), GetLiveAddress(), SetLiveAddress(), and ValueObjectConstResultImpl().

◆ m_live_address_type

AddressType lldb_private::ValueObjectConstResultImpl::m_live_address_type
private

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