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     clang::ASTContext *clang_ast,
23     void *clang_type,
24     const ConstString &name,
25     uint32_t byte_size,
26     int32_t byte_offset,
27     uint32_t bitfield_bit_size,
28     uint32_t bitfield_bit_offset,
29     bool is_base_class,
30     bool is_deref_of_parent
31 ) :
32     ValueObjectChild (parent,
33                       clang_ast,
34                       clang_type,
35                       name,
36                       byte_size,
37                       byte_offset,
38                       bitfield_bit_size,
39                       bitfield_bit_offset,
40                       is_base_class,
41                       is_deref_of_parent,
42                       eAddressTypeLoad),
43     m_impl(this)
44 {
45     m_name = name;
46 }
47 
48 ValueObjectConstResultChild::~ValueObjectConstResultChild()
49 {
50 }
51 
52 lldb::ValueObjectSP
53 ValueObjectConstResultChild::Dereference (Error &error)
54 {
55     return m_impl.Dereference(error);
56 }
57 
58 lldb::ValueObjectSP
59 ValueObjectConstResultChild::GetSyntheticChildAtOffset(uint32_t offset, const ClangASTType& type, bool can_create)
60 {
61     return m_impl.GetSyntheticChildAtOffset(offset, type, can_create);
62 }
63 
64 lldb::ValueObjectSP
65 ValueObjectConstResultChild::AddressOf (Error &error)
66 {
67     return m_impl.AddressOf(error);
68 }
69 
70 ValueObject *
71 ValueObjectConstResultChild::CreateChildAtIndex (uint32_t idx, bool synthetic_array_member, int32_t synthetic_index)
72 {
73     return m_impl.CreateChildAtIndex(idx, synthetic_array_member, synthetic_index);
74 }
75 
76 size_t
77 ValueObjectConstResultChild::GetPointeeData (DataExtractor& data,
78                                              uint32_t item_idx,
79                                              uint32_t item_count)
80 {
81     return m_impl.GetPointeeData(data, item_idx, item_count);
82 }
83