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                                                       ConstString name_const_str)
45 {
46     return m_impl.GetSyntheticChildAtOffset(offset, type, can_create, name_const_str);
47 }
48 
49 lldb::ValueObjectSP
50 ValueObjectConstResultCast::AddressOf (Error &error)
51 {
52     return m_impl.AddressOf(error);
53 }
54 
55 ValueObject *
56 ValueObjectConstResultCast::CreateChildAtIndex (size_t idx,
57                                                 bool synthetic_array_member,
58                                                 int32_t synthetic_index)
59 {
60     return m_impl.CreateChildAtIndex(
61         idx, synthetic_array_member, synthetic_index);
62 }
63 
64 size_t
65 ValueObjectConstResultCast::GetPointeeData (DataExtractor& data,
66                                              uint32_t item_idx,
67                                              uint32_t item_count)
68 {
69     return m_impl.GetPointeeData(data, item_idx, item_count);
70 }
71 
72 lldb::ValueObjectSP
73 ValueObjectConstResultCast::Cast (const CompilerType &compiler_type)
74 {
75     return m_impl.Cast(compiler_type);
76 }
77