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 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 36 of file ValueObjectConstResultImpl.cpp.
|
virtualdefault |
|
privatedelete |
lldb::ValueObjectSP ValueObjectConstResultImpl::AddressOf | ( | Status & | error | ) |
Definition at line 171 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 200 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::DoCast(), lldb_private::ValueObjectConstResultCast::DoCast(), and lldb_private::ValueObjectConstResultChild::DoCast().
ValueObject * ValueObjectConstResultImpl::CreateChildAtIndex | ( | size_t | idx | ) |
Definition at line 49 of file ValueObjectConstResultImpl.cpp.
References lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::GetLog(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, LLDB_LOG_ERROR, m_impl_backend, m_live_address, lldb_private::Types, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by lldb_private::ValueObjectConstResult::CreateChildAtIndex(), lldb_private::ValueObjectConstResultCast::CreateChildAtIndex(), and lldb_private::ValueObjectConstResultChild::CreateChildAtIndex().
ValueObject * ValueObjectConstResultImpl::CreateSyntheticArrayMember | ( | size_t | idx | ) |
Definition at line 105 of file ValueObjectConstResultImpl.cpp.
References lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::GetLog(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, LLDB_LOG_ERROR, m_impl_backend, m_live_address, lldb_private::Types, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by lldb_private::ValueObjectConstResult::CreateSyntheticArrayMember(), lldb_private::ValueObjectConstResultCast::CreateSyntheticArrayMember(), and lldb_private::ValueObjectConstResultChild::CreateSyntheticArrayMember().
lldb::ValueObjectSP ValueObjectConstResultImpl::Dereference | ( | Status & | error | ) |
Definition at line 42 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 211 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 228 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 161 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(), CreateSyntheticArrayMember(), Dereference(), GetAddressOf(), GetPointeeData(), and GetSyntheticChildAtOffset().
|
private |
Definition at line 69 of file ValueObjectConstResultImpl.h.
Referenced by AddressOf(), Cast(), CreateChildAtIndex(), CreateSyntheticArrayMember(), GetAddressOf(), GetLiveAddress(), and SetLiveAddress().
|
private |
Definition at line 70 of file ValueObjectConstResultImpl.h.
Referenced by GetAddressOf(), and SetLiveAddress().