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/Core/ValueObjectConstResult.h"
13 #include "lldb/Core/ValueObjectList.h"
14 
15 #include "lldb/Symbol/ClangASTContext.h"
16 
17 using namespace lldb_private;
18 
19 ValueObjectConstResultChild::ValueObjectConstResultChild
20 (
21     ValueObject &parent,
22     const CompilerType &compiler_type,
23     const ConstString &name,
24     uint32_t byte_size,
25     int32_t byte_offset,
26     uint32_t bitfield_bit_size,
27     uint32_t bitfield_bit_offset,
28     bool is_base_class,
29     bool is_deref_of_parent,
30     lldb::addr_t live_address
31 ) :
32     ValueObjectChild (parent,
33                       compiler_type,
34                       name,
35                       byte_size,
36                       byte_offset,
37                       bitfield_bit_size,
38                       bitfield_bit_offset,
39                       is_base_class,
40                       is_deref_of_parent,
41                       eAddressTypeLoad),
42     m_impl(this, live_address)
43 {
44     m_name = name;
45 }
46 
47 ValueObjectConstResultChild::~ValueObjectConstResultChild()
48 {
49 }
50 
51 lldb::ValueObjectSP
52 ValueObjectConstResultChild::Dereference (Error &error)
53 {
54     return m_impl.Dereference(error);
55 }
56 
57 lldb::ValueObjectSP
58 ValueObjectConstResultChild::GetSyntheticChildAtOffset(uint32_t offset, const CompilerType& type, bool can_create)
59 {
60     return m_impl.GetSyntheticChildAtOffset(offset, type, can_create);
61 }
62 
63 lldb::ValueObjectSP
64 ValueObjectConstResultChild::AddressOf (Error &error)
65 {
66     return m_impl.AddressOf(error);
67 }
68 
69 ValueObject *
70 ValueObjectConstResultChild::CreateChildAtIndex (size_t idx, bool synthetic_array_member, int32_t synthetic_index)
71 {
72     return m_impl.CreateChildAtIndex(idx, synthetic_array_member, synthetic_index);
73 }
74 
75 size_t
76 ValueObjectConstResultChild::GetPointeeData (DataExtractor& data,
77                                              uint32_t item_idx,
78                                              uint32_t item_count)
79 {
80     return m_impl.GetPointeeData(data, item_idx, item_count);
81 }
82 
83 lldb::ValueObjectSP
84 ValueObjectConstResultChild::Cast (const CompilerType &compiler_type)
85 {
86     return m_impl.Cast(compiler_type);
87 }
88