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, bool synthetic_array_member, int32_t synthetic_index) |
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 lldb::addr_t | GetAddressOf (bool scalar_is_load_address=true, AddressType *address_type=nullptr) |
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 |
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 34 of file ValueObjectConstResultImpl.cpp.
|
virtualdefault |
|
privatedelete |
lldb::ValueObjectSP ValueObjectConstResultImpl::AddressOf | ( | Status & | error | ) |
Definition at line 122 of file ValueObjectConstResultImpl.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::ValueObjectConstResult::Create(), error(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::ValueObject::GetName(), 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.
Referenced by lldb_private::ValueObjectConstResult::AddressOf(), lldb_private::ValueObjectConstResultCast::AddressOf(), and lldb_private::ValueObjectConstResultChild::AddressOf().
lldb::ValueObjectSP ValueObjectConstResultImpl::Cast | ( | const CompilerType & | compiler_type | ) |
Definition at line 151 of file ValueObjectConstResultImpl.cpp.
References lldb_private::ValueObject::GetName(), lldb_private::ValueObject::GetSP(), m_impl_backend, and m_live_address.
Referenced by lldb_private::ValueObjectConstResult::Cast(), lldb_private::ValueObjectConstResultCast::Cast(), and lldb_private::ValueObjectConstResultChild::Cast().
ValueObject * ValueObjectConstResultImpl::CreateChildAtIndex | ( | size_t | idx, |
bool | synthetic_array_member, | ||
int32_t | synthetic_index | ||
) |
Definition at line 47 of file ValueObjectConstResultImpl.cpp.
References lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, m_impl_backend, m_live_address, lldb_private::ConstString::SetCString(), and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by lldb_private::ValueObjectConstResult::CreateChildAtIndex(), lldb_private::ValueObjectConstResultCast::CreateChildAtIndex(), and lldb_private::ValueObjectConstResultChild::CreateChildAtIndex().
lldb::ValueObjectSP ValueObjectConstResultImpl::Dereference | ( | Status & | error | ) |
Definition at line 40 of file ValueObjectConstResultImpl.cpp.
References error(), and m_impl_backend.
Referenced by lldb_private::ValueObjectConstResult::Dereference(), lldb_private::ValueObjectConstResultCast::Dereference(), and lldb_private::ValueObjectConstResultChild::Dereference().
|
virtual |
Definition at line 162 of file ValueObjectConstResultImpl.cpp.
References LLDB_INVALID_ADDRESS, m_impl_backend, m_live_address, and m_live_address_type.
Referenced by lldb_private::ValueObjectConstResult::GetAddressOf(), and lldb_private::ValueObjectConstResultChild::GetAddressOf().
|
inline |
Definition at line 51 of file ValueObjectConstResultImpl.h.
References m_live_address.
Referenced by lldb_private::ValueObjectConstResult::GetLiveAddress().
|
virtual |
Definition at line 179 of file ValueObjectConstResultImpl.cpp.
References m_impl_backend.
Referenced by lldb_private::ValueObjectConstResult::GetPointeeData(), lldb_private::ValueObjectConstResultCast::GetPointeeData(), and lldb_private::ValueObjectConstResultChild::GetPointeeData().
lldb::ValueObjectSP ValueObjectConstResultImpl::GetSyntheticChildAtOffset | ( | uint32_t | offset, |
const CompilerType & | type, | ||
bool | can_create, | ||
ConstString | name_const_str = ConstString() |
||
) |
Definition at line 112 of file ValueObjectConstResultImpl.cpp.
References m_impl_backend.
Referenced by lldb_private::ValueObjectConstResult::GetSyntheticChildAtOffset(), lldb_private::ValueObjectConstResultCast::GetSyntheticChildAtOffset(), and lldb_private::ValueObjectConstResultChild::GetSyntheticChildAtOffset().
|
privatedelete |
|
inline |
Definition at line 55 of file ValueObjectConstResultImpl.h.
References m_live_address, and m_live_address_type.
Referenced by lldb_private::ValueObjectConstResult::SetLiveAddress().
|
private |
Definition at line 71 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf().
|
private |
Definition at line 68 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf(), Cast(), CreateChildAtIndex(), Dereference(), GetAddressOf(), GetPointeeData(), and GetSyntheticChildAtOffset().
|
private |
Definition at line 69 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf(), Cast(), CreateChildAtIndex(), GetAddressOf(), GetLiveAddress(), and SetLiveAddress().
|
private |
Definition at line 70 of file ValueObjectConstResultImpl.h.
Referenced by GetAddressOf(), and SetLiveAddress().