diff options
Diffstat (limited to 'lldb/source/Core')
-rw-r--r-- | lldb/source/Core/ValueObjectConstResult.cpp | 7 | ||||
-rw-r--r-- | lldb/source/Core/ValueObjectConstResultImpl.cpp | 23 |
2 files changed, 29 insertions, 1 deletions
diff --git a/lldb/source/Core/ValueObjectConstResult.cpp b/lldb/source/Core/ValueObjectConstResult.cpp index 9a23ca82a1b..fa1503f3217 100644 --- a/lldb/source/Core/ValueObjectConstResult.cpp +++ b/lldb/source/Core/ValueObjectConstResult.cpp @@ -324,6 +324,13 @@ ValueObjectConstResult::AddressOf (Error &error) return m_impl.AddressOf(error); } +lldb::addr_t +ValueObjectConstResult::GetAddressOf (bool scalar_is_load_address, + AddressType *address_type) +{ + return m_impl.GetAddressOf(scalar_is_load_address, address_type); +} + ValueObject * ValueObjectConstResult::CreateChildAtIndex (uint32_t idx, bool synthetic_array_member, int32_t synthetic_index) { diff --git a/lldb/source/Core/ValueObjectConstResultImpl.cpp b/lldb/source/Core/ValueObjectConstResultImpl.cpp index 119ba015590..afe050291b0 100644 --- a/lldb/source/Core/ValueObjectConstResultImpl.cpp +++ b/lldb/source/Core/ValueObjectConstResultImpl.cpp @@ -40,7 +40,8 @@ using namespace lldb_private; ValueObjectConstResultImpl::ValueObjectConstResultImpl (ValueObject* valobj, lldb::addr_t live_address) : m_impl_backend(valobj), - m_live_address(live_address), + m_live_address(live_address), + m_live_address_type(eAddressTypeLoad), m_load_addr_backend(), m_address_of_backend() { @@ -201,6 +202,26 @@ ValueObjectConstResultImpl::AddressOf (Error &error) return lldb::ValueObjectSP(); } +lldb::addr_t +ValueObjectConstResultImpl::GetAddressOf (bool scalar_is_load_address, + AddressType *address_type) +{ + + if (m_impl_backend == NULL) + return 0; + + if (m_live_address == LLDB_INVALID_ADDRESS) + { + return m_impl_backend->ValueObject::GetAddressOf (scalar_is_load_address, + address_type); + } + + if (address_type) + *address_type = m_live_address_type; + + return m_live_address; +} + size_t ValueObjectConstResultImpl::GetPointeeData (DataExtractor& data, uint32_t item_idx, |