
ValueObject is part of lldbCore for historical reasons, but conceptually it deserves to be its own library. This does introduce a (link-time) circular dependency between lldbCore and lldbValueObject, which is unfortunate but probably unavoidable because so many things in LLDB rely on ValueObject. We already have cycles and these libraries are never built as dylibs so while this doesn't improve the situation, it also doesn't make things worse. The header includes were updated with the following command: ``` find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \; ```
57 lines
1.8 KiB
C++
57 lines
1.8 KiB
C++
//===-- ValueObjectConstResultCast.cpp ------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/ValueObject/ValueObjectConstResultCast.h"
|
|
|
|
namespace lldb_private {
|
|
class DataExtractor;
|
|
}
|
|
namespace lldb_private {
|
|
class Status;
|
|
}
|
|
namespace lldb_private {
|
|
class ValueObject;
|
|
}
|
|
|
|
using namespace lldb_private;
|
|
|
|
ValueObjectConstResultCast::ValueObjectConstResultCast(
|
|
ValueObject &parent, ConstString name, const CompilerType &cast_type,
|
|
lldb::addr_t live_address)
|
|
: ValueObjectCast(parent, name, cast_type), m_impl(this, live_address) {
|
|
m_name = name;
|
|
}
|
|
|
|
ValueObjectConstResultCast::~ValueObjectConstResultCast() = default;
|
|
|
|
lldb::ValueObjectSP ValueObjectConstResultCast::Dereference(Status &error) {
|
|
return m_impl.Dereference(error);
|
|
}
|
|
|
|
lldb::ValueObjectSP ValueObjectConstResultCast::GetSyntheticChildAtOffset(
|
|
uint32_t offset, const CompilerType &type, bool can_create,
|
|
ConstString name_const_str) {
|
|
return m_impl.GetSyntheticChildAtOffset(offset, type, can_create,
|
|
name_const_str);
|
|
}
|
|
|
|
lldb::ValueObjectSP ValueObjectConstResultCast::AddressOf(Status &error) {
|
|
return m_impl.AddressOf(error);
|
|
}
|
|
|
|
size_t ValueObjectConstResultCast::GetPointeeData(DataExtractor &data,
|
|
uint32_t item_idx,
|
|
uint32_t item_count) {
|
|
return m_impl.GetPointeeData(data, item_idx, item_count);
|
|
}
|
|
|
|
lldb::ValueObjectSP
|
|
ValueObjectConstResultCast::DoCast(const CompilerType &compiler_type) {
|
|
return m_impl.Cast(compiler_type);
|
|
}
|