LLDB mainline
|
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) |
ValueObject * | CreateChildAtIndex (size_t idx) |
ValueObject * | CreateSyntheticArrayMember (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 ValueObjectConstResultImpl & | operator= (const ValueObjectConstResultImpl &)=delete |
Private Attributes | |
ValueObject * | m_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 |
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.
ValueObjectConstResultImpl::ValueObjectConstResultImpl | ( | ValueObject * | valobj, |
lldb::addr_t | live_address = LLDB_INVALID_ADDRESS ) |
Definition at line 36 of file ValueObjectConstResultImpl.cpp.
References lldb_private::eAddressTypeLoad, m_address_of_backend, m_impl_backend, m_live_address, and m_live_address_type.
Referenced by operator=(), and ValueObjectConstResultImpl().
|
virtualdefault |
References error().
|
privatedelete |
References ValueObjectConstResultImpl().
lldb::ValueObjectSP ValueObjectConstResultImpl::AddressOf | ( | Status & | error | ) |
Definition at line 170 of file ValueObjectConstResultImpl.cpp.
References lldb_private::ValueObjectConstResult::Create(), error(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetPointerType(), lldb_private::endian::InlHostByteOrder(), LLDB_INVALID_ADDRESS, m_address_of_backend, m_impl_backend, m_live_address, and lldb_private::Value::Scalar.
lldb::ValueObjectSP ValueObjectConstResultImpl::Cast | ( | const CompilerType & | compiler_type | ) |
Definition at line 199 of file ValueObjectConstResultImpl.cpp.
References lldb_private::ValueObject::GetSP(), m_impl_backend, and m_live_address.
ValueObject * ValueObjectConstResultImpl::CreateChildAtIndex | ( | size_t | idx | ) |
Definition at line 48 of file ValueObjectConstResultImpl.cpp.
References lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), lldb_private::GetLog(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, LLDB_LOG_ERROR, m_impl_backend, m_live_address, and lldb_private::Types.
ValueObject * ValueObjectConstResultImpl::CreateSyntheticArrayMember | ( | size_t | idx | ) |
Definition at line 104 of file ValueObjectConstResultImpl.cpp.
References lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), lldb_private::GetLog(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, LLDB_LOG_ERROR, m_impl_backend, m_live_address, and lldb_private::Types.
lldb::ValueObjectSP ValueObjectConstResultImpl::Dereference | ( | Status & | error | ) |
Definition at line 41 of file ValueObjectConstResultImpl.cpp.
References error(), and m_impl_backend.
|
virtual |
Definition at line 210 of file ValueObjectConstResultImpl.cpp.
References lldb_private::eAddressTypeInvalid, LLDB_INVALID_ADDRESS, m_impl_backend, m_live_address, and m_live_address_type.
|
inline |
Definition at line 51 of file ValueObjectConstResultImpl.h.
References m_live_address.
|
virtual |
Definition at line 221 of file ValueObjectConstResultImpl.cpp.
References m_impl_backend.
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.
|
privatedelete |
References ValueObjectConstResultImpl().
|
inline |
Definition at line 55 of file ValueObjectConstResultImpl.h.
References lldb_private::eAddressTypeLoad, LLDB_INVALID_ADDRESS, m_live_address, and m_live_address_type.
|
private |
Definition at line 75 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf(), and ValueObjectConstResultImpl().
|
private |
Definition at line 68 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf(), Cast(), CreateChildAtIndex(), CreateSyntheticArrayMember(), Dereference(), GetAddressOf(), GetPointeeData(), GetSyntheticChildAtOffset(), and ValueObjectConstResultImpl().
|
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().
|
private |
Definition at line 74 of file ValueObjectConstResultImpl.h.
Referenced by GetAddressOf(), SetLiveAddress(), and ValueObjectConstResultImpl().