LLDB mainline
ValueObjectConstResultChild.cpp
Go to the documentation of this file.
1//===-- ValueObjectConstResultChild.cpp -----------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
10
12namespace lldb_private {
13class DataExtractor;
14}
15namespace lldb_private {
16class Status;
17}
18namespace lldb_private {
19class ValueObject;
20}
21
22using namespace lldb_private;
23
25 ValueObject &parent, const CompilerType &compiler_type, ConstString name,
26 uint32_t byte_size, int32_t byte_offset, uint32_t bitfield_bit_size,
27 uint32_t bitfield_bit_offset, bool is_base_class, bool is_deref_of_parent,
28 lldb::addr_t live_address, uint64_t language_flags)
29 : ValueObjectChild(parent, compiler_type, name, byte_size, byte_offset,
30 bitfield_bit_size, bitfield_bit_offset, is_base_class,
31 is_deref_of_parent, eAddressTypeLoad, language_flags),
32 m_impl(this, live_address) {
33 m_name = name;
34}
35
37
41
43 uint32_t offset, const CompilerType &type, bool can_create,
44 ConstString name_const_str) {
45 return m_impl.GetSyntheticChildAtOffset(offset, type, can_create,
46 name_const_str);
47}
48
52
54ValueObjectConstResultChild::GetAddressOf(bool scalar_is_load_address) {
55 return m_impl.GetAddressOf(scalar_is_load_address);
56}
57
59 uint32_t item_idx,
60 uint32_t item_count) {
61 return m_impl.GetPointeeData(data, item_idx, item_count);
62}
63
66 return m_impl.Cast(compiler_type);
67}
static llvm::raw_ostream & error(Stream &strm)
Generic representation of a type in a programming language.
A uniqued constant string class.
Definition ConstString.h:40
An data extractor class.
An error handling class.
Definition Status.h:118
ValueObjectChild(ValueObject &parent, const CompilerType &compiler_type, ConstString name, uint64_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, AddressType child_ptr_or_ref_addr_type, uint64_t language_flags)
lldb::ValueObjectSP GetSyntheticChildAtOffset(uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) override
AddrAndType GetAddressOf(bool scalar_is_load_address=true) override
size_t GetPointeeData(DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) override
ValueObjectConstResultChild(ValueObject &parent, const CompilerType &compiler_type, 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)
lldb::ValueObjectSP DoCast(const CompilerType &compiler_type) override
lldb::ValueObjectSP AddressOf(Status &error) override
lldb::ValueObjectSP Dereference(Status &error) override
ConstString m_name
The name of this object.
A class that represents a running process on the host machine.
@ eAddressTypeLoad
Address is an address as in the current target inferior process.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
uint64_t addr_t
Definition lldb-types.h:80