Go to the documentation of this file.
33 auto manager_sp = ValueObjectManager::Create();
35 addr_byte_size, address))
44 :
ValueObject(exe_scope, manager), m_impl(this, address) {
67 :
ValueObject(exe_scope, manager), m_impl(this, address) {
71 DataBufferSP shared_data_buffer(
88 const lldb::DataBufferSP &data_sp,
94 name, data_sp, data_byte_order,
95 data_addr_size, address))
114 :
ValueObject(exe_scope, manager), m_impl(this, address) {
135 name, address, address_type,
145 m_impl(this, address) {
150 switch (address_type) {
222 return children_count <= max ? children_count : max;
268 size_t idx,
bool synthetic_array_member, int32_t synthetic_index) {
293 return ValueObjectSP();
ConstString GetDisplayTypeName() override
lldb::ValueObjectSP AddressOf(Status &error)
@ Scalar
A raw scalar value.
std::optional< uint64_t > GetByteSize() override
void SetValueIsValid(bool valid)
lldb::ValueObjectSP Cast(const CompilerType &compiler_type) override
bool GetData(DataExtractor &data, size_t limit_byte_size=UINT32_MAX) const
lldb::ValueObjectSP Dereference(Status &error)
void SetValueType(ValueType value_type)
Process * GetProcessPtr() const
Returns a pointer to the process object.
Status GetValueAsData(ExecutionContext *exe_ctx, DataExtractor &data, Module *module)
lldb::ValueObjectSP Cast(const CompilerType &compiler_type)
@ FileAddress
A file address value.
lldb::LanguageType GetPreferredDisplayLanguage() override
ConstString GetTypeName(bool BaseOnly=false) const
ConstString m_name
The name of this object.
@ eAddressTypeHost
Address is an address in the process that is running this code.
LanguageType
Programming language type.
lldb::addr_t GetAddressOf(bool scalar_is_load_address=true, AddressType *address_type=nullptr) override
lldb::ValueObjectSP GetSyntheticChildAtOffset(uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString())
lldb::ValueType GetValueType() const override
@ LoadAddress
A load address value.
A ValueObject that represents memory at a given address, viewed as some set lldb type.
lldb::LanguageType m_preferred_display_language
virtual size_t GetPointeeData(DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1)
void SetCompilerType(const CompilerType &compiler_type)
DataExtractor m_data
A data extractor that can be used to extract the value.
const Scalar & GetScalar() const
bool IsInScope() override
static llvm::raw_ostream & error(Stream &strm)
CompilerType GetCompilerTypeImpl() override
ConstString GetDisplayTypeName() const
lldb::ValueObjectSP AddressOf(Status &error) override
bool IsEmpty() const
Test for empty string.
lldb::ValueObjectSP GetSP()
void SetByteSize(size_t size)
void SetAddressTypeOfChildren(AddressType at)
ValueObjectConstResultImpl m_impl
size_t CalculateNumChildren(uint32_t max) override
Should only be called by ValueObject::GetNumChildren().
ValueObject * CreateChildAtIndex(size_t idx, bool synthetic_array_member, int32_t synthetic_index)
void GetBytes(llvm::MutableArrayRef< uint8_t > storage) const
Store the binary representation of this value into the given storage.
virtual lldb::addr_t GetAddressOf(bool scalar_is_load_address=true, AddressType *address_type=nullptr)
const ExecutionContextRef & GetExecutionContextRef() const
@ eAddressTypeLoad
Address is an address as in the current target inferior process.
uint32_t GetNumChildren(bool omit_empty_base_classes, const ExecutionContext *exe_ctx) const
ValueObject * CreateChildAtIndex(size_t idx, bool synthetic_array_member, int32_t synthetic_index) override
Should only be called by ValueObject::GetChildAtIndex().
lldb::ValueObjectSP GetSyntheticChildAtOffset(uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) override
bool IsPossibleDynamicValue(ValueObject &in_value)
std::optional< uint64_t > m_byte_size
@ eLanguageTypeUnknown
Unknown or invalid language value.
ExecutionContextScope * GetBestExecutionContextScope() const
@ HostAddress
A host address value (for memory in the process that < A is using liblldb).
@ eAddressTypeFile
Address is an address as found in an object or symbol file.
CompilerType GetCompilerType()
A frozen ValueObject copied into host memory.
Generic representation of a type in a programming language.
static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address=LLDB_INVALID_ADDRESS)
const CompilerType & GetCompilerType()
size_t GetPointeeData(DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) override
A class that represents a running process on the host machine.
@ eValueTypeConstResult
constant result variables
lldb::LanguageType GetMinimumLanguage()
ValueObject * m_dynamic_value
Status m_error
An error object that can describe any errors that occur when updating values.
lldb::ValueObjectSP GetDynamicValue(lldb::DynamicValueType valueType) override
virtual void CalculateExecutionContext(ExecutionContext &exe_ctx)=0
Reconstruct the object's execution context into sc.
ValueObjectConstResult(ExecutionContextScope *exe_scope, ValueObjectManager &manager, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address)
bool UpdateValue() override
lldb::ValueObjectSP Dereference(Status &error) override
static std::shared_ptr< ClusterManager > Create()
ByteOrder
Byte ordering definitions.
~ValueObjectConstResult() override
ConstString GetTypeName() override