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