LLDB mainline
|
#include <ValueObjectRegister.h>
Static Public Member Functions | |
static lldb::ValueObjectSP | Create (ExecutionContextScope *exe_scope, lldb::RegisterContextSP ®_ctx_sp, const RegisterInfo *reg_info) |
Static Public Member Functions inherited from lldb_private::ValueObject | |
static lldb::ValueObjectSP | CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx) |
static lldb::ValueObjectSP | CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options) |
static lldb::ValueObjectSP | CreateValueObjectFromAddress (llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type) |
static lldb::ValueObjectSP | CreateValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type) |
Protected Attributes | |
lldb::RegisterContextSP | m_reg_ctx_sp |
RegisterInfo | m_reg_info |
RegisterValue | m_reg_value |
ConstString | m_type_name |
CompilerType | m_compiler_type |
Protected Attributes inherited from lldb_private::ValueObject | |
ValueObject * | m_parent = nullptr |
The parent value object, or nullptr if this has no parent. | |
ValueObject * | m_root = nullptr |
The root of the hierarchy for this ValueObject (or nullptr if never calculated). | |
EvaluationPoint | m_update_point |
Stores both the stop id and the full context at which this value was last updated. | |
ConstString | m_name |
The name of this object. | |
DataExtractor | m_data |
A data extractor that can be used to extract the value. | |
Value | m_value |
Status | m_error |
An error object that can describe any errors that occur when updating values. | |
std::string | m_value_str |
Cached value string that will get cleared if/when the value is updated. | |
std::string | m_old_value_str |
Cached old value string from the last time the value was gotten. | |
std::string | m_location_str |
Cached location string that will get cleared if/when the value is updated. | |
std::string | m_summary_str |
Cached summary string that will get cleared if/when the value is updated. | |
std::string | m_object_desc_str |
Cached result of the "object printer". | |
CompilerType | m_override_type |
If the type of the value object should be overridden, the type to impose. | |
ValueObjectManager * | m_manager = nullptr |
This object is managed by the root object (any ValueObject that gets created without a parent.) The manager gets passed through all the generations of dependent objects, and will keep the whole cluster of objects alive as long as a shared pointer to any of them has been handed out. | |
ChildrenManager | m_children |
std::map< ConstString, ValueObject * > | m_synthetic_children |
ValueObject * | m_dynamic_value = nullptr |
ValueObject * | m_synthetic_value = nullptr |
ValueObject * | m_deref_valobj = nullptr |
lldb::ValueObjectSP | m_addr_of_valobj_sp |
We have to hold onto a shared pointer to this one because it is created as an independent ValueObjectConstResult, which isn't managed by us. | |
lldb::Format | m_format = lldb::eFormatDefault |
lldb::Format | m_last_format = lldb::eFormatDefault |
uint32_t | m_last_format_mgr_revision = 0 |
lldb::TypeSummaryImplSP | m_type_summary_sp |
lldb::TypeFormatImplSP | m_type_format_sp |
lldb::SyntheticChildrenSP | m_synthetic_children_sp |
ProcessModID | m_user_id_of_forced_summary |
AddressType | m_address_type_of_ptr_or_ref_children = eAddressTypeInvalid |
llvm::SmallVector< uint8_t, 16 > | m_value_checksum |
lldb::LanguageType | m_preferred_display_language = lldb::eLanguageTypeUnknown |
uint64_t | m_language_flags = 0 |
UserID | m_id |
Unique identifier for every value object. | |
struct lldb_private::ValueObject::Bitflags | m_flags |
Private Member Functions | |
void | ConstructObject (const RegisterInfo *reg_info) |
ValueObjectRegister (ValueObject &parent, lldb::RegisterContextSP ®_ctx_sp, const RegisterInfo *reg_info) | |
ValueObjectRegister (ExecutionContextScope *exe_scope, ValueObjectManager &manager, lldb::RegisterContextSP ®_ctx_sp, const RegisterInfo *reg_info) | |
ValueObjectRegister (const ValueObjectRegister &)=delete | |
const ValueObjectRegister & | operator= (const ValueObjectRegister &)=delete |
Friends | |
class | ValueObjectRegisterSet |
Definition at line 82 of file ValueObjectRegister.h.
|
overridedefault |
|
private |
Definition at line 168 of file ValueObjectRegister.cpp.
References ConstructObject().
|
private |
Definition at line 185 of file ValueObjectRegister.cpp.
References ConstructObject().
|
privatedelete |
|
overridevirtual |
Should only be called by ValueObject::GetNumChildren().
Implements lldb_private::ValueObject.
Definition at line 225 of file ValueObjectRegister.cpp.
References lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetExecutionContextRef(), and lldb_private::CompilerType::GetNumChildren().
|
private |
Definition at line 158 of file ValueObjectRegister.cpp.
References lldb_private::RegisterInfo::alt_name, lldb_private::ValueObject::m_name, m_reg_info, lldb_private::RegisterInfo::name, and lldb_private::ConstString::SetCString().
Referenced by ValueObjectRegister().
|
static |
Definition at line 177 of file ValueObjectRegister.cpp.
References lldb_private::ClusterManager< T >::Create().
Referenced by lldb::SBFrame::FindRegister(), and lldb::SBFrame::FindValue().
|
overridevirtual |
Implements lldb_private::ValueObject.
Definition at line 233 of file ValueObjectRegister.cpp.
References lldb_private::RegisterInfo::byte_size, and m_reg_info.
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 197 of file ValueObjectRegister.cpp.
References lldb_private::RegisterInfo::byte_size, lldb::eLanguageTypeC, lldb_private::RegisterInfo::encoding, lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::GetLog(), lldb_private::ExecutionContext::GetTargetPtr(), lldb_private::CompilerType::IsValid(), LLDB_LOG_ERROR, m_compiler_type, m_reg_info, and lldb_private::Types.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 307 of file ValueObjectRegister.cpp.
References m_reg_info, lldb_private::RegisterInfo::name, and lldb_private::Stream::Printf().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 218 of file ValueObjectRegister.cpp.
References lldb_private::ValueObject::GetCompilerType(), lldb_private::CompilerType::GetTypeName(), lldb_private::ConstString::IsEmpty(), and m_type_name.
|
inlineoverridevirtual |
Implements lldb_private::ValueObject.
Definition at line 92 of file ValueObjectRegister.h.
References lldb::eValueTypeRegister.
|
privatedelete |
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 300 of file ValueObjectRegister.cpp.
References lldb_private::RegisterValue::GetScalarValue(), m_reg_value, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 286 of file ValueObjectRegister.cpp.
References error(), m_reg_ctx_sp, m_reg_info, m_reg_value, lldb_private::ValueObject::SetNeedsUpdate(), and lldb_private::RegisterValue::SetValueFromData().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 269 of file ValueObjectRegister.cpp.
References error(), m_reg_ctx_sp, m_reg_info, m_reg_value, lldb_private::ValueObject::SetNeedsUpdate(), and lldb_private::RegisterValue::SetValueFromString().
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 237 of file ValueObjectRegister.cpp.
References lldb_private::RegisterValue::Clear(), lldb_private::Status::Clear(), lldb_private::Process::GetAddressByteSize(), lldb_private::RegisterValue::GetData(), lldb_private::DataExtractor::GetDataStart(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::ExecutionContext::GetFramePtr(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::GetScalar(), lldb_private::Value::HostAddress, lldb_private::ValueObject::m_data, lldb_private::ValueObject::m_error, m_reg_ctx_sp, m_reg_info, m_reg_value, lldb_private::ValueObject::m_value, lldb_private::Value::RegisterInfo, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::Value::SetContext(), lldb_private::Status::SetErrorToGenericError(), lldb_private::ValueObject::SetValueDidChange(), lldb_private::ValueObject::SetValueIsValid(), and lldb_private::Value::SetValueType().
|
friend |
Definition at line 125 of file ValueObjectRegister.h.
|
protected |
Definition at line 120 of file ValueObjectRegister.h.
Referenced by GetCompilerTypeImpl().
|
protected |
Definition at line 116 of file ValueObjectRegister.h.
Referenced by SetData(), SetValueFromCString(), and UpdateValue().
|
protected |
Definition at line 117 of file ValueObjectRegister.h.
Referenced by ConstructObject(), GetByteSize(), GetCompilerTypeImpl(), GetExpressionPath(), SetData(), SetValueFromCString(), and UpdateValue().
|
protected |
Definition at line 118 of file ValueObjectRegister.h.
Referenced by ResolveValue(), SetData(), SetValueFromCString(), and UpdateValue().
|
protected |
Definition at line 119 of file ValueObjectRegister.h.
Referenced by GetTypeName().