31 uint32_t addr_byte_size,
35 addr_byte_size, address))
42 uint32_t addr_byte_size,
44 :
ValueObject(exe_scope, manager), m_impl(this, address) {
67 :
ValueObject(exe_scope, manager), m_impl(this, address) {
90 uint32_t data_addr_size,
94 name, data_sp, data_byte_order,
95 data_addr_size, address))
114 :
ValueObject(exe_scope, manager), m_impl(this, address) {
132 uint32_t addr_byte_size) {
135 name, address, address_type,
145 m_impl(this, address) {
150 switch (address_type) {
219llvm::Expected<uint32_t>
224 return children_count;
225 return *children_count <= max ? *children_count : max;
255 uint32_t offset,
const CompilerType &type,
bool can_create,
272 uint32_t item_count) {
static llvm::raw_ostream & error(Stream &strm)
static std::shared_ptr< ClusterManager > Create()
Generic representation of a type in a programming language.
lldb::LanguageType GetMinimumLanguage()
ConstString GetDisplayTypeName() const
ConstString GetTypeName(bool BaseOnly=false) const
llvm::Expected< uint32_t > GetNumChildren(bool omit_empty_base_classes, const ExecutionContext *exe_ctx) const
A uniqued constant string class.
bool IsEmpty() const
Test for empty string.
A subclass of DataBuffer that stores a data buffer on the heap.
"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution ...
virtual void CalculateExecutionContext(ExecutionContext &exe_ctx)=0
Reconstruct the object's execution context into sc.
"lldb/Target/ExecutionContext.h" A class that contains an execution context.
ExecutionContextScope * GetBestExecutionContextScope() const
Process * GetProcessPtr() const
Returns a pointer to the process object.
A class that describes an executable image and its associated object and symbol files.
A plug-in interface definition class for debugging a process.
bool IsPossibleDynamicValue(ValueObject &in_value)
void GetBytes(llvm::MutableArrayRef< uint8_t > storage) const
Store the binary representation of this value into the given storage.
bool GetData(DataExtractor &data, size_t limit_byte_size=UINT32_MAX) const
bool Success() const
Test for success condition.
lldb::ValueObjectSP GetSyntheticChildAtOffset(uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString())
virtual size_t GetPointeeData(DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1)
lldb::ValueObjectSP AddressOf(Status &error)
lldb::ValueObjectSP Cast(const CompilerType &compiler_type)
virtual lldb::addr_t GetAddressOf(bool scalar_is_load_address=true, AddressType *address_type=nullptr)
lldb::ValueObjectSP Dereference(Status &error)
A frozen ValueObject copied into host memory.
lldb::ValueObjectSP AddressOf(Status &error) override
ValueObjectConstResultImpl m_impl
std::optional< uint64_t > GetByteSize() override
bool IsInScope() override
lldb::ValueObjectSP Dereference(Status &error) override
static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address=LLDB_INVALID_ADDRESS)
void SetByteSize(size_t size)
bool UpdateValue() override
CompilerType GetCompilerTypeImpl() override
ConstString GetTypeName() override
lldb::ValueObjectSP DoCast(const CompilerType &compiler_type) override
std::optional< uint64_t > m_byte_size
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()) override
lldb::ValueObjectSP GetDynamicValue(lldb::DynamicValueType valueType) override
~ValueObjectConstResult() override
llvm::Expected< uint32_t > CalculateNumChildren(uint32_t max) override
Should only be called by ValueObject::GetNumChildren().
lldb::ValueType GetValueType() const override
ConstString GetDisplayTypeName() override
size_t GetPointeeData(DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) override
ValueObjectConstResult(ExecutionContextScope *exe_scope, ValueObjectManager &manager, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address)
lldb::LanguageType GetPreferredDisplayLanguage() override
A ValueObject that represents memory at a given address, viewed as some set lldb type.
void SetValueIsValid(bool valid)
CompilerType GetCompilerType()
lldb::ValueObjectSP GetSP()
Status m_error
An error object that can describe any errors that occur when updating values.
DataExtractor m_data
A data extractor that can be used to extract the value.
lldb::LanguageType m_preferred_display_language
const Status & GetError()
ConstString m_name
The name of this object.
ValueObject * m_dynamic_value
const ExecutionContextRef & GetExecutionContextRef() const
void SetAddressTypeOfChildren(AddressType at)
const Scalar & GetScalar() const
Status GetValueAsData(ExecutionContext *exe_ctx, DataExtractor &data, Module *module)
@ HostAddress
A host address value (for memory in the process that < A is using liblldb).
@ FileAddress
A file address value.
@ LoadAddress
A load address value.
@ Scalar
A raw scalar value.
void SetCompilerType(const CompilerType &compiler_type)
void SetValueType(ValueType value_type)
const CompilerType & GetCompilerType()
A class that represents a running process on the host machine.
@ eAddressTypeFile
Address is an address as found in an object or symbol file.
@ eAddressTypeLoad
Address is an address as in the current target inferior process.
@ eAddressTypeHost
Address is an address in the process that is running this code.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.
ByteOrder
Byte ordering definitions.
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
@ eValueTypeConstResult
constant result variables