1 //===-- ValueObjectConstResultChild.cpp --------------------------*- C++-*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "lldb/Core/ValueObjectConstResultChild.h" 11 12 #include "lldb/lldb-private-enumerations.h" // for AddressType::eAddressType 13 namespace lldb_private { 14 class DataExtractor; 15 } 16 namespace lldb_private { 17 class Error; 18 } 19 namespace lldb_private { 20 class ValueObject; 21 } 22 23 using namespace lldb_private; 24 25 ValueObjectConstResultChild::ValueObjectConstResultChild( 26 ValueObject &parent, const CompilerType &compiler_type, 27 const ConstString &name, uint32_t byte_size, int32_t byte_offset, 28 uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, 29 bool is_base_class, bool is_deref_of_parent, lldb::addr_t live_address, 30 uint64_t language_flags) 31 : ValueObjectChild(parent, compiler_type, name, byte_size, byte_offset, 32 bitfield_bit_size, bitfield_bit_offset, is_base_class, 33 is_deref_of_parent, eAddressTypeLoad, language_flags), 34 m_impl(this, live_address) { 35 m_name = name; 36 } 37 38 ValueObjectConstResultChild::~ValueObjectConstResultChild() {} 39 40 lldb::ValueObjectSP ValueObjectConstResultChild::Dereference(Error &error) { 41 return m_impl.Dereference(error); 42 } 43 44 lldb::ValueObjectSP ValueObjectConstResultChild::GetSyntheticChildAtOffset( 45 uint32_t offset, const CompilerType &type, bool can_create, 46 ConstString name_const_str) { 47 return m_impl.GetSyntheticChildAtOffset(offset, type, can_create, 48 name_const_str); 49 } 50 51 lldb::ValueObjectSP ValueObjectConstResultChild::AddressOf(Error &error) { 52 return m_impl.AddressOf(error); 53 } 54 55 ValueObject *ValueObjectConstResultChild::CreateChildAtIndex( 56 size_t idx, bool synthetic_array_member, int32_t synthetic_index) { 57 return m_impl.CreateChildAtIndex(idx, synthetic_array_member, 58 synthetic_index); 59 } 60 61 size_t ValueObjectConstResultChild::GetPointeeData(DataExtractor &data, 62 uint32_t item_idx, 63 uint32_t item_count) { 64 return m_impl.GetPointeeData(data, item_idx, item_count); 65 } 66 67 lldb::ValueObjectSP 68 ValueObjectConstResultChild::Cast(const CompilerType &compiler_type) { 69 return m_impl.Cast(compiler_type); 70 } 71