1 //===-- ValueObjectConstResultCast.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/ValueObjectConstResultCast.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 ValueObjectConstResultCast::ValueObjectConstResultCast(
20     ValueObject &parent,
21     const ConstString &name,
22     const CompilerType &cast_type,
23     lldb::addr_t live_address) :
24     ValueObjectCast (parent, name, cast_type),
25     m_impl(this, live_address)
26 {
27     m_name = name;
28 }
29 
30 ValueObjectConstResultCast::~ValueObjectConstResultCast()
31 {
32 }
33 
34 lldb::ValueObjectSP
35 ValueObjectConstResultCast::Dereference (Error &error)
36 {
37     return m_impl.Dereference(error);
38 }
39 
40 lldb::ValueObjectSP
41 ValueObjectConstResultCast::GetSyntheticChildAtOffset(uint32_t offset,
42                                                       const CompilerType& type,
43                                                       bool can_create)
44 {
45     return m_impl.GetSyntheticChildAtOffset(offset, type, can_create);
46 }
47 
48 lldb::ValueObjectSP
49 ValueObjectConstResultCast::AddressOf (Error &error)
50 {
51     return m_impl.AddressOf(error);
52 }
53 
54 ValueObject *
55 ValueObjectConstResultCast::CreateChildAtIndex (size_t idx,
56                                                 bool synthetic_array_member,
57                                                 int32_t synthetic_index)
58 {
59     return m_impl.CreateChildAtIndex(
60         idx, synthetic_array_member, synthetic_index);
61 }
62 
63 size_t
64 ValueObjectConstResultCast::GetPointeeData (DataExtractor& data,
65                                              uint32_t item_idx,
66                                              uint32_t item_count)
67 {
68     return m_impl.GetPointeeData(data, item_idx, item_count);
69 }
70 
71 lldb::ValueObjectSP
72 ValueObjectConstResultCast::Cast (const CompilerType &compiler_type)
73 {
74     return m_impl.Cast(compiler_type);
75 }
76