1 //===-- ValueObjectConstResultChild.cpp --------------------------*- C++-*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #include "lldb/Core/ValueObjectConstResultChild.h" 10 11 #include "lldb/lldb-private-enumerations.h" 12 namespace lldb_private { 13 class DataExtractor; 14 } 15 namespace lldb_private { 16 class Status; 17 } 18 namespace lldb_private { 19 class ValueObject; 20 } 21 22 using namespace lldb_private; 23 24 ValueObjectConstResultChild::ValueObjectConstResultChild( 25 ValueObject &parent, const CompilerType &compiler_type, 26 ConstString name, uint32_t byte_size, int32_t byte_offset, 27 uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset, 28 bool is_base_class, bool is_deref_of_parent, lldb::addr_t live_address, 29 uint64_t language_flags) 30 : ValueObjectChild(parent, compiler_type, name, byte_size, byte_offset, 31 bitfield_bit_size, bitfield_bit_offset, is_base_class, 32 is_deref_of_parent, eAddressTypeLoad, language_flags), 33 m_impl(this, live_address) { 34 m_name = name; 35 } 36 37 ValueObjectConstResultChild::~ValueObjectConstResultChild() {} 38 39 lldb::ValueObjectSP ValueObjectConstResultChild::Dereference(Status &error) { 40 return m_impl.Dereference(error); 41 } 42 43 lldb::ValueObjectSP ValueObjectConstResultChild::GetSyntheticChildAtOffset( 44 uint32_t offset, const CompilerType &type, bool can_create, 45 ConstString name_const_str) { 46 return m_impl.GetSyntheticChildAtOffset(offset, type, can_create, 47 name_const_str); 48 } 49 50 lldb::ValueObjectSP ValueObjectConstResultChild::AddressOf(Status &error) { 51 return m_impl.AddressOf(error); 52 } 53 54 lldb::addr_t ValueObjectConstResultChild::GetAddressOf( 55 bool scalar_is_load_address, AddressType* address_type) { 56 return m_impl.GetAddressOf(scalar_is_load_address, address_type); 57 } 58 59 ValueObject *ValueObjectConstResultChild::CreateChildAtIndex( 60 size_t idx, bool synthetic_array_member, int32_t synthetic_index) { 61 return m_impl.CreateChildAtIndex(idx, synthetic_array_member, 62 synthetic_index); 63 } 64 65 size_t ValueObjectConstResultChild::GetPointeeData(DataExtractor &data, 66 uint32_t item_idx, 67 uint32_t item_count) { 68 return m_impl.GetPointeeData(data, item_idx, item_count); 69 } 70 71 lldb::ValueObjectSP 72 ValueObjectConstResultChild::Cast(const CompilerType &compiler_type) { 73 return m_impl.Cast(compiler_type); 74 } 75