1f678e45dSDimitry Andric //===-- ValueObjectConstResultChild.cpp --------------------------*- C++-*-===//
2ac7ddfbfSEd Maste //
3ac7ddfbfSEd Maste // The LLVM Compiler Infrastructure
4ac7ddfbfSEd Maste //
5ac7ddfbfSEd Maste // This file is distributed under the University of Illinois Open Source
6ac7ddfbfSEd Maste // License. See LICENSE.TXT for details.
7ac7ddfbfSEd Maste //
8ac7ddfbfSEd Maste //===----------------------------------------------------------------------===//
9ac7ddfbfSEd Maste
10ac7ddfbfSEd Maste #include "lldb/Core/ValueObjectConstResultChild.h"
11ac7ddfbfSEd Maste
12*b5893f02SDimitry Andric #include "lldb/lldb-private-enumerations.h"
13f678e45dSDimitry Andric namespace lldb_private {
14f678e45dSDimitry Andric class DataExtractor;
15f678e45dSDimitry Andric }
16f678e45dSDimitry Andric namespace lldb_private {
175517e702SDimitry Andric class Status;
18f678e45dSDimitry Andric }
19f678e45dSDimitry Andric namespace lldb_private {
20f678e45dSDimitry Andric class ValueObject;
21f678e45dSDimitry Andric }
22ac7ddfbfSEd Maste
23ac7ddfbfSEd Maste using namespace lldb_private;
24ac7ddfbfSEd Maste
ValueObjectConstResultChild(ValueObject & parent,const CompilerType & compiler_type,const ConstString & name,uint32_t byte_size,int32_t byte_offset,uint32_t bitfield_bit_size,uint32_t bitfield_bit_offset,bool is_base_class,bool is_deref_of_parent,lldb::addr_t live_address,uint64_t language_flags)25435933ddSDimitry Andric ValueObjectConstResultChild::ValueObjectConstResultChild(
26435933ddSDimitry Andric ValueObject &parent, const CompilerType &compiler_type,
27435933ddSDimitry Andric const ConstString &name, uint32_t byte_size, int32_t byte_offset,
28435933ddSDimitry Andric uint32_t bitfield_bit_size, uint32_t bitfield_bit_offset,
29435933ddSDimitry Andric bool is_base_class, bool is_deref_of_parent, lldb::addr_t live_address,
30435933ddSDimitry Andric uint64_t language_flags)
31435933ddSDimitry Andric : ValueObjectChild(parent, compiler_type, name, byte_size, byte_offset,
32435933ddSDimitry Andric bitfield_bit_size, bitfield_bit_offset, is_base_class,
33435933ddSDimitry Andric is_deref_of_parent, eAddressTypeLoad, language_flags),
34435933ddSDimitry Andric m_impl(this, live_address) {
35ac7ddfbfSEd Maste m_name = name;
36ac7ddfbfSEd Maste }
37ac7ddfbfSEd Maste
~ValueObjectConstResultChild()38435933ddSDimitry Andric ValueObjectConstResultChild::~ValueObjectConstResultChild() {}
39ac7ddfbfSEd Maste
Dereference(Status & error)405517e702SDimitry Andric lldb::ValueObjectSP ValueObjectConstResultChild::Dereference(Status &error) {
41ac7ddfbfSEd Maste return m_impl.Dereference(error);
42ac7ddfbfSEd Maste }
43ac7ddfbfSEd Maste
GetSyntheticChildAtOffset(uint32_t offset,const CompilerType & type,bool can_create,ConstString name_const_str)44435933ddSDimitry Andric lldb::ValueObjectSP ValueObjectConstResultChild::GetSyntheticChildAtOffset(
45435933ddSDimitry Andric uint32_t offset, const CompilerType &type, bool can_create,
46435933ddSDimitry Andric ConstString name_const_str) {
47435933ddSDimitry Andric return m_impl.GetSyntheticChildAtOffset(offset, type, can_create,
484bb0738eSEd Maste name_const_str);
49ac7ddfbfSEd Maste }
50ac7ddfbfSEd Maste
AddressOf(Status & error)515517e702SDimitry Andric lldb::ValueObjectSP ValueObjectConstResultChild::AddressOf(Status &error) {
52ac7ddfbfSEd Maste return m_impl.AddressOf(error);
53ac7ddfbfSEd Maste }
54ac7ddfbfSEd Maste
GetAddressOf(bool scalar_is_load_address,AddressType * address_type)55*b5893f02SDimitry Andric lldb::addr_t ValueObjectConstResultChild::GetAddressOf(
56*b5893f02SDimitry Andric bool scalar_is_load_address, AddressType* address_type) {
57*b5893f02SDimitry Andric return m_impl.GetAddressOf(scalar_is_load_address, address_type);
58*b5893f02SDimitry Andric }
59*b5893f02SDimitry Andric
CreateChildAtIndex(size_t idx,bool synthetic_array_member,int32_t synthetic_index)60435933ddSDimitry Andric ValueObject *ValueObjectConstResultChild::CreateChildAtIndex(
61435933ddSDimitry Andric size_t idx, bool synthetic_array_member, int32_t synthetic_index) {
62435933ddSDimitry Andric return m_impl.CreateChildAtIndex(idx, synthetic_array_member,
63435933ddSDimitry Andric synthetic_index);
64ac7ddfbfSEd Maste }
65ac7ddfbfSEd Maste
GetPointeeData(DataExtractor & data,uint32_t item_idx,uint32_t item_count)66435933ddSDimitry Andric size_t ValueObjectConstResultChild::GetPointeeData(DataExtractor &data,
67ac7ddfbfSEd Maste uint32_t item_idx,
68435933ddSDimitry Andric uint32_t item_count) {
69ac7ddfbfSEd Maste return m_impl.GetPointeeData(data, item_idx, item_count);
70ac7ddfbfSEd Maste }
719f2f44ceSEd Maste
729f2f44ceSEd Maste lldb::ValueObjectSP
Cast(const CompilerType & compiler_type)73435933ddSDimitry Andric ValueObjectConstResultChild::Cast(const CompilerType &compiler_type) {
749f2f44ceSEd Maste return m_impl.Cast(compiler_type);
759f2f44ceSEd Maste }
76