9#ifndef LLDB_VALUEOBJECT_VALUEOBJECTMEMORY_H
10#define LLDB_VALUEOBJECT_VALUEOBJECTMEMORY_H
19#include "llvm/ADT/StringRef.h"
A section + offset based address class.
Generic representation of a type in a programming language.
A uniqued constant string class.
"lldb/Target/ExecutionContextScope.h" Inherit from this if your object can reconstruct its execution ...
~ValueObjectMemory() override
llvm::Expected< uint32_t > CalculateNumChildren(uint32_t max) override
Should only be called by ValueObject::GetNumChildren().
bool IsInScope() override
static lldb::ValueObjectSP Create(ExecutionContextScope *exe_scope, llvm::StringRef name, const Address &address, lldb::TypeSP &type_sp)
lldb::ValueType GetValueType() const override
llvm::Expected< uint64_t > GetByteSize() override
ValueObjectMemory(const ValueObjectMemory &)=delete
CompilerType m_compiler_type
lldb::ModuleSP GetModule() override
Return the module associated with this value object in case the value is from an executable file and ...
bool UpdateValue() override
const ValueObjectMemory & operator=(const ValueObjectMemory &)=delete
Address m_address
The variable that this value object is based upon.
ValueObjectMemory(ExecutionContextScope *exe_scope, ValueObjectManager &manager, llvm::StringRef name, const Address &address, lldb::TypeSP &type_sp)
CompilerType GetCompilerTypeImpl() override
ConstString GetTypeName() override
ConstString GetDisplayTypeName() override
ClusterManager< ValueObject > ValueObjectManager
ValueObject(ExecutionContextScope *exe_scope, ValueObjectManager &manager, AddressType child_ptr_or_ref_addr_type=eAddressTypeLoad)
Use this constructor to create a "root variable object".
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::Type > TypeSP
std::shared_ptr< lldb_private::Module > ModuleSP