LLDB mainline
|
#include <ValueObject.h>
Classes | |
struct | Bitflags |
class | ChildrenManager |
class | EvaluationPoint |
struct | GetValueForExpressionPathOptions |
Public Member Functions | |
virtual | ~ValueObject () |
const EvaluationPoint & | GetUpdatePoint () const |
EvaluationPoint & | GetUpdatePoint () |
const ExecutionContextRef & | GetExecutionContextRef () const |
lldb::TargetSP | GetTargetSP () const |
lldb::ProcessSP | GetProcessSP () const |
lldb::ThreadSP | GetThreadSP () const |
lldb::StackFrameSP | GetFrameSP () const |
void | SetNeedsUpdate () |
CompilerType | GetCompilerType () |
virtual TypeImpl | GetTypeImpl () |
virtual bool | CanProvideValue () |
virtual std::optional< uint64_t > | GetByteSize ()=0 |
virtual lldb::ValueType | GetValueType () const =0 |
virtual ConstString | GetTypeName () |
virtual ConstString | GetDisplayTypeName () |
virtual ConstString | GetQualifiedTypeName () |
virtual lldb::LanguageType | GetObjectRuntimeLanguage () |
virtual uint32_t | GetTypeInfo (CompilerType *pointee_or_element_compiler_type=nullptr) |
virtual bool | IsPointerType () |
virtual bool | IsArrayType () |
virtual bool | IsScalarType () |
virtual bool | IsPointerOrReferenceType () |
virtual bool | IsPossibleDynamicType () |
bool | IsNilReference () |
bool | IsUninitializedReference () |
virtual bool | IsBaseClass () |
bool | IsBaseClass (uint32_t &depth) |
virtual bool | IsDereferenceOfParent () |
bool | IsIntegerType (bool &is_signed) |
virtual void | GetExpressionPath (Stream &s, GetExpressionPathFormat=eGetExpressionPathFormatDereferencePointers) |
lldb::ValueObjectSP | GetValueForExpressionPath (llvm::StringRef expression, ExpressionPathScanEndReason *reason_to_stop=nullptr, ExpressionPathEndResultType *final_value_type=nullptr, const GetValueForExpressionPathOptions &options=GetValueForExpressionPathOptions::DefaultOptions(), ExpressionPathAftermath *final_task_on_target=nullptr) |
virtual bool | IsInScope () |
virtual lldb::offset_t | GetByteOffset () |
virtual uint32_t | GetBitfieldBitSize () |
virtual uint32_t | GetBitfieldBitOffset () |
bool | IsBitfield () |
virtual bool | IsArrayItemForPointer () |
virtual const char * | GetValueAsCString () |
virtual bool | GetValueAsCString (const lldb_private::TypeFormatImpl &format, std::string &destination) |
bool | GetValueAsCString (lldb::Format format, std::string &destination) |
virtual uint64_t | GetValueAsUnsigned (uint64_t fail_value, bool *success=nullptr) |
virtual int64_t | GetValueAsSigned (int64_t fail_value, bool *success=nullptr) |
virtual bool | SetValueFromCString (const char *value_str, Status &error) |
virtual lldb::ModuleSP | GetModule () |
Return the module associated with this value object in case the value is from an executable file and might have its data in sections of the file. | |
ValueObject * | GetRoot () |
ValueObject * | FollowParentChain (std::function< bool(ValueObject *)>) |
Given a ValueObject, loop over itself and its parent, and its parent's parent, . | |
virtual bool | GetDeclaration (Declaration &decl) |
const Status & | GetError () |
ConstString | GetName () const |
lldb::user_id_t | GetID () const |
Returns a unique id for this ValueObject. | |
virtual lldb::ValueObjectSP | GetChildAtIndex (size_t idx, bool can_create) |
lldb::ValueObjectSP | GetChildAtIndexPath (llvm::ArrayRef< size_t > idxs, size_t *index_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtIndexPath (llvm::ArrayRef< std::pair< size_t, bool > > idxs, size_t *index_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< ConstString > names, ConstString *name_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< std::pair< ConstString, bool > > names, ConstString *name_of_error=nullptr) |
virtual lldb::ValueObjectSP | GetChildMemberWithName (ConstString name, bool can_create) |
virtual size_t | GetIndexOfChildWithName (ConstString name) |
size_t | GetNumChildren (uint32_t max=UINT32_MAX) |
const Value & | GetValue () const |
Value & | GetValue () |
virtual bool | ResolveValue (Scalar &scalar) |
virtual bool | IsLogicalTrue (Status &error) |
virtual const char * | GetLocationAsCString () |
const char * | GetSummaryAsCString (lldb::LanguageType lang=lldb::eLanguageTypeUnknown) |
bool | GetSummaryAsCString (TypeSummaryImpl *summary_ptr, std::string &destination, lldb::LanguageType lang=lldb::eLanguageTypeUnknown) |
bool | GetSummaryAsCString (std::string &destination, const TypeSummaryOptions &options) |
bool | GetSummaryAsCString (TypeSummaryImpl *summary_ptr, std::string &destination, const TypeSummaryOptions &options) |
const char * | GetObjectDescription () |
bool | HasSpecialPrintableRepresentation (ValueObjectRepresentationStyle val_obj_display, lldb::Format custom_format) |
bool | DumpPrintableRepresentation (Stream &s, ValueObjectRepresentationStyle val_obj_display=eValueObjectRepresentationStyleSummary, lldb::Format custom_format=lldb::eFormatInvalid, PrintableRepresentationSpecialCases special=PrintableRepresentationSpecialCases::eAllow, bool do_dump_error=true) |
bool | GetValueIsValid () const |
bool | GetValueDidChange () |
bool | UpdateValueIfNeeded (bool update_format=true) |
bool | UpdateFormatsIfNeeded () |
lldb::ValueObjectSP | GetSP () |
void | SetName (ConstString name) |
Change the name of the current ValueObject. | |
virtual lldb::addr_t | GetAddressOf (bool scalar_is_load_address=true, AddressType *address_type=nullptr) |
lldb::addr_t | GetPointerValue (AddressType *address_type=nullptr) |
lldb::ValueObjectSP | GetSyntheticChild (ConstString key) const |
lldb::ValueObjectSP | GetSyntheticArrayMember (size_t index, bool can_create) |
lldb::ValueObjectSP | GetSyntheticBitFieldChild (uint32_t from, uint32_t to, bool can_create) |
lldb::ValueObjectSP | GetSyntheticExpressionPathChild (const char *expression, bool can_create) |
virtual lldb::ValueObjectSP | GetSyntheticChildAtOffset (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) |
virtual lldb::ValueObjectSP | GetSyntheticBase (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) |
virtual lldb::ValueObjectSP | GetDynamicValue (lldb::DynamicValueType valueType) |
lldb::DynamicValueType | GetDynamicValueType () |
virtual lldb::ValueObjectSP | GetStaticValue () |
virtual lldb::ValueObjectSP | GetNonSyntheticValue () |
lldb::ValueObjectSP | GetSyntheticValue () |
virtual bool | HasSyntheticValue () |
virtual bool | IsSynthetic () |
lldb::ValueObjectSP | GetQualifiedRepresentationIfAvailable (lldb::DynamicValueType dynValue, bool synthValue) |
virtual lldb::ValueObjectSP | CreateConstantValue (ConstString name) |
virtual lldb::ValueObjectSP | Dereference (Status &error) |
virtual lldb::ValueObjectSP | Clone (ConstString new_name) |
Creates a copy of the ValueObject with a new name and setting the current ValueObject as its parent. | |
virtual lldb::ValueObjectSP | AddressOf (Status &error) |
virtual lldb::addr_t | GetLiveAddress () |
virtual void | SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad) |
virtual lldb::ValueObjectSP | Cast (const CompilerType &compiler_type) |
virtual lldb::ValueObjectSP | CastPointerType (const char *name, CompilerType &ast_type) |
virtual lldb::ValueObjectSP | CastPointerType (const char *name, lldb::TypeSP &type_sp) |
virtual void | ValueUpdated () |
virtual bool | IsDynamic () |
virtual bool | DoesProvideSyntheticValue () |
virtual bool | IsSyntheticChildrenGenerated () |
virtual void | SetSyntheticChildrenGenerated (bool b) |
virtual SymbolContextScope * | GetSymbolContextScope () |
void | Dump (Stream &s) |
void | Dump (Stream &s, const DumpValueObjectOptions &options) |
lldb::ValueObjectSP | Persist () |
bool | IsCStringContainer (bool check_pointer=false) |
Returns true if this is a char* or a char[] if it is a char* and check_pointer is true, it also checks that the pointer is valid. | |
std::pair< size_t, bool > | ReadPointedString (lldb::WritableDataBufferSP &buffer_sp, Status &error, uint32_t max_length=0, bool honor_array=true, lldb::Format item_format=lldb::eFormatCharArray) |
virtual size_t | GetPointeeData (DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) |
virtual uint64_t | GetData (DataExtractor &data, Status &error) |
virtual bool | SetData (DataExtractor &data, Status &error) |
virtual bool | GetIsConstant () const |
bool | NeedsUpdating () |
void | SetIsConstant () |
lldb::Format | GetFormat () const |
virtual void | SetFormat (lldb::Format format) |
virtual lldb::LanguageType | GetPreferredDisplayLanguage () |
void | SetPreferredDisplayLanguage (lldb::LanguageType lt) |
lldb::TypeSummaryImplSP | GetSummaryFormat () |
void | SetSummaryFormat (lldb::TypeSummaryImplSP format) |
void | SetValueFormat (lldb::TypeFormatImplSP format) |
lldb::TypeFormatImplSP | GetValueFormat () |
void | SetSyntheticChildren (const lldb::SyntheticChildrenSP &synth_sp) |
lldb::SyntheticChildrenSP | GetSyntheticChildren () |
virtual ValueObject * | GetParent () |
virtual const ValueObject * | GetParent () const |
ValueObject * | GetNonBaseClassParent () |
void | SetAddressTypeOfChildren (AddressType at) |
AddressType | GetAddressTypeOfChildren () |
void | SetHasCompleteType () |
virtual bool | MightHaveChildren () |
Find out if a ValueObject might have children. | |
virtual lldb::VariableSP | GetVariable () |
virtual bool | IsRuntimeSupportValue () |
virtual uint64_t | GetLanguageFlags () |
virtual void | SetLanguageFlags (uint64_t flags) |
Static Public Member Functions | |
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 Types | |
typedef ClusterManager< ValueObject > | ValueObjectManager |
Protected Attributes | |
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 | |
virtual CompilerType | MaybeCalculateCompleteType () |
void | UpdateChildrenAddressType () |
lldb::ValueObjectSP | GetValueForExpressionPath_Impl (llvm::StringRef expression_cstr, ExpressionPathScanEndReason *reason_to_stop, ExpressionPathEndResultType *final_value_type, const GetValueForExpressionPathOptions &options, ExpressionPathAftermath *final_task_on_target) |
ValueObject (const ValueObject &)=delete | |
const ValueObject & | operator= (const ValueObject &)=delete |
Friends | |
class | ValueObjectChild |
class | ExpressionVariable |
class | Target |
class | ValueObjectConstResultImpl |
class | ValueObjectSynthetic |
This abstract class provides an interface to a particular value, be it a register, a local or global variable, that is evaluated in some particular scope. The ValueObject also has the capability of being the "child" of some other variable object, and in turn of having children. If a ValueObject is a root variable object - having no parent - then it must be constructed with respect to some particular ExecutionContextScope. If it is a child, it inherits the ExecutionContextScope from its parent. The ValueObject will update itself if necessary before fetching its value, summary, object description, etc. But it will always update itself in the ExecutionContextScope with which it was originally created. A brief note on life cycle management for ValueObjects. This is a little tricky because a ValueObject can contain various other ValueObjects - the Dynamic Value, its children, the dereference value, etc. Any one of these can be handed out as a shared pointer, but for that contained value object to be valid, the root object and potentially other of the value objects need to stay around. We solve this problem by handing out shared pointers to the Value Object and any of its dependents using a shared ClusterManager. This treats each shared pointer handed out for the entire cluster as a reference to the whole cluster. The whole cluster will stay around until the last reference is released.
The ValueObject mostly handle this automatically, if a value object is made with a Parent ValueObject, then it adds itself to the ClusterManager of the parent. It does mean that external to the ValueObjects we should only ever make available ValueObjectSP's, never ValueObjects or pointers to them. So all the "Root level" ValueObject derived constructors should be private, and should implement a Create function that new's up object and returns a Shared Pointer that it gets from the GetSP() method.
However, if you are making an derived ValueObject that will be contained in a parent value object, you should just hold onto a pointer to it internally, and by virtue of passing the parent ValueObject into its constructor, it will be added to the ClusterManager for the parent. Then if you ever hand out a Shared Pointer to the contained ValueObject, just do so by calling GetSP() on the contained object.
Definition at line 105 of file ValueObject.h.
|
protected |
Definition at line 794 of file ValueObject.h.
Definition at line 182 of file ValueObject.h.
Enumerator | |
---|---|
eExpressionPathAftermathNothing | Just return it. |
eExpressionPathAftermathDereference | Dereference the target. |
eExpressionPathAftermathTakeAddress | Take target's address. |
Definition at line 173 of file ValueObject.h.
Definition at line 159 of file ValueObject.h.
Definition at line 123 of file ValueObject.h.
Enumerator | |
---|---|
eGetExpressionPathFormatDereferencePointers | |
eGetExpressionPathFormatHonorPointers |
Definition at line 107 of file ValueObject.h.
|
strong |
Enumerator | |
---|---|
eDisable | |
eAllow |
Definition at line 532 of file ValueObject.h.
Definition at line 112 of file ValueObject.h.
|
virtualdefault |
|
protected |
Use this constructor to create a "root variable object".
The ValueObject will be locked to this context through-out its lifespan.
Definition at line 92 of file ValueObject.cpp.
References lldb_private::ExecutionContextScope::CalculateTarget(), lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetByteOrder(), m_data, m_manager, lldb_private::ClusterManager< T >::ManageObject(), lldb_private::DataExtractor::SetAddressByteSize(), and lldb_private::DataExtractor::SetByteOrder().
|
protected |
Use this constructor to create a ValueObject owned by another ValueObject.
It will inherit the ExecutionContext of its parent.
Definition at line 81 of file ValueObject.cpp.
References lldb_private::DataExtractor::GetAddressByteSize(), lldb_private::DataExtractor::GetByteOrder(), GetDataExtractor(), m_data, m_flags, lldb_private::ValueObject::Bitflags::m_is_synthetic_children_generated, m_manager, lldb_private::ClusterManager< T >::ManageObject(), lldb_private::DataExtractor::SetAddressByteSize(), and lldb_private::DataExtractor::SetByteOrder().
|
privatedelete |
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2734 of file ValueObject.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeFile, lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, lldb_private::eAddressTypeLoad, error(), lldb_private::DataExtractor::GetAddressByteSize(), GetAddressOf(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetCompilerType(), lldb_private::StreamString::GetData(), GetExecutionContextRef(), GetExpressionPath(), lldb_private::CompilerType::GetPointerType(), LLDB_INVALID_ADDRESS, m_addr_of_valobj_sp, m_data, and m_name.
Referenced by lldb_private::ClangExpressionDeclMap::LookUpLldbClass(), and lldb_private::ClangExpressionDeclMap::LookUpLldbObjCClass().
|
protected |
Definition at line 1564 of file ValueObject.cpp.
References m_synthetic_children.
Referenced by GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), and GetSyntheticExpressionPathChild().
|
protectedvirtual |
Definition at line 1830 of file ValueObject.cpp.
References ClearDynamicTypeInformation(), lldb::eNoDynamicValues, GetExecutionContextRef(), lldb_private::ExecutionContext::GetProcessPtr(), IsDynamic(), lldb_private::Process::IsPossibleDynamicValue(), and m_dynamic_value.
Referenced by GetDynamicValue().
|
protectedpure virtual |
Should only be called by ValueObject::GetNumChildren().
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Referenced by GetNumChildren().
|
protectedvirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 1809 of file ValueObject.cpp.
References GetTargetSP(), m_synthetic_children_sp, m_synthetic_value, UpdateFormatsIfNeeded(), and ValueObjectSynthetic.
Referenced by GetSyntheticValue(), and HasSyntheticValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 3115 of file ValueObject.cpp.
References GetCompilerType(), lldb_private::CompilerType::GetTypeInfo(), and lldb_private::CompilerType::IsValid().
Referenced by lldb_private::ValueObjectSynthetic::CanProvideValue(), DumpPrintableRepresentation(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), GetExpressionPath(), GetValueAsSigned(), GetValueAsUnsigned(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), and UpdateValueIfNeeded().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 950 of file ValueObject.h.
References lldb_private::eLazyBoolCalculate.
Referenced by lldb_private::ValueObjectChild::CanUpdateWithInvalidExecutionContext(), and NeedsUpdating().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2777 of file ValueObject.cpp.
References lldb_private::ValueObjectCast::Create(), and GetName().
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex().
|
virtual |
Definition at line 2785 of file ValueObject.cpp.
References lldb_private::ValueObjectMemory::Create(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetExecutionContextRef(), GetPointerValue(), and LLDB_INVALID_ADDRESS.
|
virtual |
|
protected |
Definition at line 237 of file ValueObject.cpp.
References lldb_private::ValueObject::Bitflags::m_children_count_valid, lldb_private::ValueObject::Bitflags::m_did_calculate_complete_objc_class_type, m_flags, m_last_format_mgr_revision, m_override_type, SetSummaryFormat(), SetSyntheticChildren(), and SetValueFormat().
Referenced by CalculateDynamicValue(), and lldb_private::ValueObjectDynamicValue::UpdateValue().
|
protected |
Definition at line 2941 of file ValueObject.cpp.
References eClearUserVisibleDataItemsDescription, eClearUserVisibleDataItemsLocation, eClearUserVisibleDataItemsSummary, eClearUserVisibleDataItemsSyntheticChildren, eClearUserVisibleDataItemsValue, m_location_str, m_object_desc_str, m_summary_str, m_synthetic_value, and m_value_str.
Referenced by SetFormat(), lldb_private::ValueObjectSynthetic::SetFormat(), SetNeedsUpdate(), SetSummaryFormat(), SetSyntheticChildren(), SetValueFormat(), UpdateValueIfNeeded(), and ValueUpdated().
|
virtual |
Creates a copy of the ValueObject with a new name and setting the current ValueObject as its parent.
It should be used when we want to change the name of a ValueObject without modifying the actual ValueObject itself (e.g. sythetic child provider).
Definition at line 2781 of file ValueObject.cpp.
References lldb_private::ValueObjectCast::Create(), and GetCompilerType().
|
protectedvirtual |
Should only be called by ValueObject::GetChildAtIndex().
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, lldb_private::ValueObjectConstResultChild, and lldb_private::ValueObjectRegisterSet.
Definition at line 532 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, GetChildAtIndex(), lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), GetCompilerType(), GetExecutionContextRef(), GetSyntheticValue(), lldb_private::ConstString::SetCString(), and ValueObjectChild.
Referenced by GetChildAtIndex(), and GetSyntheticArrayMember().
|
virtual |
Definition at line 2578 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::DataExtractor::GetAddressByteSize(), GetAddressOf(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::DataExtractor::GetByteOrder(), GetCompilerType(), GetExecutionContextRef(), GetModule(), lldb_private::Value::GetValueAsData(), GetValueAsUnsigned(), IsBitfield(), m_data, m_error, m_value, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::DataExtractor::SetByteOrder(), lldb_private::Status::Success(), UINT64_MAX, and UpdateValueIfNeeded().
|
static |
Definition at line 2997 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ExecutionContext::GetByteOrder(), lldb_private::CompilerType::GetPointerType(), and lldb_private::Value::LoadAddress.
Referenced by lldb::SBValue::CreateValueFromAddress(), lldb::SBTarget::CreateValueFromAddress(), lldb_private::SyntheticChildrenFrontEnd::CreateValueObjectFromAddress(), lldb_private::formatters::NSAttributedStringSummaryProvider(), and lldb_private::formatters::ObjCSELSummaryProvider().
|
static |
Definition at line 3023 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeLoad, lldb_private::ExecutionContext::GetBestExecutionContextScope(), and LLDB_INVALID_ADDRESS.
Referenced by lldb::SBTarget::CreateValueFromData(), lldb::SBValue::CreateValueFromData(), lldb_private::SyntheticChildrenFrontEnd::CreateValueObjectFromData(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(), lldb_private::formatters::NSError_SummaryProvider(), and lldb_private::formatters::ObjCSELSummaryProvider().
|
static |
Definition at line 2974 of file ValueObject.cpp.
References CreateValueObjectFromExpression().
Referenced by lldb::SBTarget::CreateValueFromExpression(), lldb::SBValue::CreateValueFromExpression(), CreateValueObjectFromExpression(), and lldb_private::SyntheticChildrenFrontEnd::CreateValueObjectFromExpression().
|
static |
Definition at line 2981 of file ValueObject.cpp.
References lldb_private::ExecutionContext::GetFrameSP(), and lldb_private::ExecutionContext::GetTargetSP().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2642 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, error(), lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), GetChildMemberWithName(), GetCompilerType(), lldb_private::StreamString::GetData(), GetExecutionContextRef(), GetExpressionPath(), lldb_private::CompilerType::GetPointeeType(), GetPreferredDisplayLanguage(), GetSP(), GetSyntheticValue(), GetTypeName(), HasSyntheticValue(), IsPointerOrReferenceType(), IsSynthetic(), lldb_private::Language::LanguageIsObjC(), m_deref_valobj, lldb_private::ConstString::SetCString(), and ValueObjectChild.
Referenced by lldb_private::ValueObjectSynthetic::CreateSynthFilter(), DumpValue(), lldb_private::UserExpression::Evaluate(), GetPointeeData(), and lldb_private::formatters::ObjCBOOLSummaryProvider().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 639 of file ValueObject.h.
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 1003 of file ValueObject.h.
Referenced by UpdateChildrenAddressType().
void ValueObject::Dump | ( | Stream & | s | ) |
void ValueObject::Dump | ( | Stream & | s, |
const DumpValueObjectOptions & | options | ||
) |
Definition at line 2573 of file ValueObject.cpp.
References lldb_private::ValueObjectPrinter::PrintValueObject().
bool ValueObject::DumpPrintableRepresentation | ( | Stream & | s, |
ValueObjectRepresentationStyle | val_obj_display = eValueObjectRepresentationStyleSummary , |
||
lldb::Format | custom_format = lldb::eFormatInvalid , |
||
PrintableRepresentationSpecialCases | special = PrintableRepresentationSpecialCases::eAllow , |
||
bool | do_dump_error = true |
||
) |
Definition at line 1172 of file ValueObject.cpp.
References lldb_private::Flags::AnySet(), lldb_private::Status::AsCString(), CanProvideValue(), eAllow, lldb::eByteOrderInvalid, lldb::eFormatBinary, lldb::eFormatBoolean, lldb::eFormatBytes, lldb::eFormatBytesWithASCII, lldb::eFormatChar, lldb::eFormatCharArray, lldb::eFormatCharPrintable, lldb::eFormatComplex, lldb::eFormatComplexFloat, lldb::eFormatComplexInteger, lldb::eFormatCString, lldb::eFormatDecimal, lldb::eFormatDefault, lldb::eFormatEnum, lldb::eFormatFloat, lldb::eFormatHex, lldb::eFormatHexUppercase, lldb::eFormatInvalid, lldb::eFormatOctal, lldb::eFormatOSType, lldb::eFormatPointer, lldb::eFormatUnicode16, lldb::eFormatUnicode32, lldb::eFormatUnsigned, lldb::eFormatVectorOfChar, lldb::eFormatVectorOfFloat32, lldb::eFormatVectorOfFloat64, lldb::eFormatVectorOfSInt16, lldb::eFormatVectorOfSInt32, lldb::eFormatVectorOfSInt64, lldb::eFormatVectorOfSInt8, lldb::eFormatVectorOfUInt128, lldb::eFormatVectorOfUInt16, lldb::eFormatVectorOfUInt32, lldb::eFormatVectorOfUInt64, lldb::eFormatVectorOfUInt8, error(), eValueObjectRepresentationStyleChildrenCount, eValueObjectRepresentationStyleExpressionPath, eValueObjectRepresentationStyleLanguageSpecific, eValueObjectRepresentationStyleLocation, eValueObjectRepresentationStyleName, eValueObjectRepresentationStyleSummary, eValueObjectRepresentationStyleType, eValueObjectRepresentationStyleValue, lldb_private::Status::Fail(), GetChildAtIndex(), GetExpressionPath(), GetLocationAsCString(), GetName(), GetNumChildren(), GetObjectDescription(), lldb_private::FormatManager::GetSingleItemFormat(), lldb_private::StreamString::GetString(), lldb_private::ConstString::GetStringRef(), GetSummaryAsCString(), GetTypeInfo(), GetTypeName(), GetValueAsCString(), IsCStringContainer(), m_error, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream(), ReadPointedString(), SetFormat(), and lldb_private::Flags::Test().
Referenced by DumpValue().
ValueObject * ValueObject::FollowParentChain | ( | std::function< bool(ValueObject *)> | f | ) |
Given a ValueObject, loop over itself and its parent, and its parent's parent, .
. until either the given callback returns false, or you end up at a null pointer
Definition at line 3052 of file ValueObject.cpp.
References m_parent.
Referenced by lldb_private::ValueObjectChild::CanUpdateWithInvalidExecutionContext(), and GetRoot().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, and lldb_private::ValueObjectConstResultChild.
Definition at line 1408 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, lldb_private::eAddressTypeLoad, lldb_private::Value::FileAddress, lldb_private::Value::GetScalar(), lldb_private::Value::GetValueAddressType(), lldb_private::Value::GetValueType(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, IsBitfield(), LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_value, lldb_private::Value::Scalar, lldb_private::Scalar::ULongLong(), and UpdateValueIfNeeded().
Referenced by lldb_private::ClangUserExpression::AddArguments(), AddressOf(), CreateConstantValue(), lldb_private::formatters::GetArrayAddressOrPointerValue(), GetPointeeData(), lldb_private::formatters::LibStdcppStringSummaryProvider(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), and ReadPointedString().
AddressType ValueObject::GetAddressTypeOfChildren | ( | ) |
Definition at line 3062 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, GetAddressTypeOfChildren(), GetRoot(), and m_address_type_of_ptr_or_ref_children.
Referenced by GetAddressTypeOfChildren(), GetPointerValue(), GetVTableAddress(), lldb_private::ValueObjectCast::UpdateValue(), and lldb_private::ValueObjectChild::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 426 of file ValueObject.h.
Referenced by lldb_private::TypeFormatImpl_Format::FormatObject(), IsBitfield(), and ResolveValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 424 of file ValueObject.h.
Referenced by DumpValue(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::FormatManager::GetPossibleMatches(), IsBitfield(), and ResolveValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 422 of file ValueObject.h.
|
pure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Referenced by lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectSynthetic::GetByteSize(), lldb_private::ValueObjectRecognizerSynthesizedValue::GetByteSize(), GetSyntheticBitFieldChild(), SetData(), and SetValueFromCString().
|
virtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 376 of file ValueObject.cpp.
References CreateChildAtIndex(), lldb_private::ValueObject::ChildrenManager::GetChildAtIndex(), GetNumChildren(), GetSP(), lldb_private::ValueObject::ChildrenManager::HasChildAtIndex(), IsPossibleDynamicType(), m_children, lldb_private::ValueObject::ChildrenManager::SetChildAtIndex(), and UpdateValueIfNeeded().
Referenced by CreateChildAtIndex(), DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GenerateChild(), DummySyntheticFrontEnd::GetChildAtIndex(), GetPointeeData(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::ValueObjectPrinter::PrintChildrenOneLiner(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
lldb::ValueObjectSP ValueObject::GetChildAtIndexPath | ( | llvm::ArrayRef< size_t > | idxs, |
size_t * | index_of_error = nullptr |
||
) |
Definition at line 397 of file ValueObject.cpp.
References GetSP().
lldb::ValueObjectSP ValueObject::GetChildAtIndexPath | ( | llvm::ArrayRef< std::pair< size_t, bool > > | idxs, |
size_t * | index_of_error = nullptr |
||
) |
Definition at line 413 of file ValueObject.cpp.
References GetSP().
lldb::ValueObjectSP ValueObject::GetChildAtNamePath | ( | llvm::ArrayRef< ConstString > | names, |
ConstString * | name_of_error = nullptr |
||
) |
Definition at line 430 of file ValueObject.cpp.
References GetSP().
lldb::ValueObjectSP ValueObject::GetChildAtNamePath | ( | llvm::ArrayRef< std::pair< ConstString, bool > > | names, |
ConstString * | name_of_error = nullptr |
||
) |
Definition at line 446 of file ValueObject.cpp.
References GetSP().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegisterSet, and lldb_private::ValueObjectSynthetic.
Definition at line 469 of file ValueObject.cpp.
References GetCompilerType(), lldb_private::ConstString::GetCString(), lldb_private::CompilerType::GetIndexOfChildMemberWithName(), GetSP(), IsPossibleDynamicType(), and UpdateValueIfNeeded().
Referenced by Dereference(), ExtractLibcxxStringInfo(), lldb_private::formatters::GetChildMemberWithName(), and lldb_private::formatters::GetValueOfLibCXXCompressedPair().
|
inline |
Definition at line 352 of file ValueObject.h.
References MaybeCalculateCompleteType().
Referenced by AddressOf(), lldb_private::ValueObjectConstResultImpl::AddressOf(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectConstResult::CalculateNumChildren(), lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectRegister::CalculateNumChildren(), lldb_private::ValueObjectVariable::CalculateNumChildren(), CanProvideValue(), Clone(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), CreateChildAtIndex(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), CreateConstantValue(), lldb_private::ValueObjectSynthetic::CreateSynthFilter(), Dereference(), DerefToNSErrorPointer(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), DumpValue(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), GetChildMemberWithName(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ValueObjectConstResultCast::GetCompilerType(), lldb_private::ValueObjectConstResultChild::GetCompilerType(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), lldb_private::ValueObjectSynthetic::GetCompilerTypeImpl(), lldb_private::ValueObjectRecognizerSynthesizedValue::GetCompilerTypeImpl(), lldb_private::ValueObjectChild::GetDisplayTypeName(), lldb_private::ValueObjectConstResult::GetDisplayTypeName(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ItaniumABILanguageRuntime::GetDynamicTypeAndAddress(), GetExpressionPath(), lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics(), GetIndexOfChildWithName(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetObjectRuntimeLanguage(), GetPointeeData(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::FormatManager::GetPossibleMatches(), GetQualifiedTypeName(), lldb_private::ValueObjectChild::GetQualifiedTypeName(), GetSummaryAsCString(), GetSyntheticBitFieldChild(), GetTypeImpl(), GetTypeInfo(), GetTypeName(), lldb_private::ValueObjectChild::GetTypeName(), lldb_private::ValueObjectConstResult::GetTypeName(), lldb_private::ValueObjectRegister::GetTypeName(), GetVTableAddress(), IsArrayType(), IsIntegerType(), lldb_private::ObjCLanguage::IsNilReference(), IsPointerOrReferenceType(), IsPointerType(), IsPossibleDynamicType(), IsScalarType(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::ClangExpressionDeclMap::LookUpLldbClass(), lldb_private::ClangExpressionDeclMap::LookUpLldbObjCClass(), lldb_private::formatters::NSAttributedStringSummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::ValueObjectPrinter::PrintValueAndSummaryIfNeeded(), ReadPointedString(), SetData(), SetValueFromCString(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update(), NSIndexPathSyntheticFrontEnd::Update(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectSynthetic::ValueObjectSynthetic(), lldb_private::formatters::WCharStringSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().
|
protectedpure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Referenced by MaybeCalculateCompleteType().
|
virtual |
Definition at line 774 of file ValueObject.cpp.
References error(), lldb_private::DataExtractor::GetAddressByteSize(), lldb_private::DataExtractor::GetByteOrder(), lldb_private::DataExtractor::GetByteSize(), GetExecutionContextRef(), GetModule(), lldb_private::Value::GetValueAsData(), m_data, m_value, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::DataExtractor::SetByteOrder(), and UpdateValueIfNeeded().
Referenced by CharSummaryProvider(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), GetVTableAddress(), lldb_private::formatters::ObjCSELSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().
|
protected |
Definition at line 279 of file ValueObject.cpp.
References m_data, and UpdateValueIfNeeded().
Referenced by GetSyntheticBitFieldChild(), ReadPointedString(), and ValueObject().
|
virtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 1559 of file ValueObject.cpp.
References lldb_private::Declaration::Clear().
Referenced by lldb_private::ValueObjectDynamicValue::GetDeclaration(), and lldb_private::ValueObjectSynthetic::GetDeclaration().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 367 of file ValueObject.h.
References GetTypeName().
Referenced by lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ValueObjectSynthetic::GetDisplayTypeName(), and lldb_private::ValueObjectPrinter::PrintDecl().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, and lldb_private::ValueObjectSynthetic.
Definition at line 1844 of file ValueObject.cpp.
References CalculateDynamicValue(), lldb::eNoDynamicValues, GetSP(), IsDynamic(), and m_dynamic_value.
Referenced by lldb_private::ValueObjectSynthetic::GetDynamicValue(), and lldb_private::ValueObjectPrinter::GetMostSpecializedValue().
lldb::DynamicValueType ValueObject::GetDynamicValueType | ( | ) |
Definition at line 3071 of file ValueObject.cpp.
References lldb::eNoDynamicValues, GetDynamicValueTypeImpl(), HasDynamicValueTypeInfo(), and m_parent.
Referenced by DumpValue(), lldb_private::DumpValueObjectOptions::DumpValueObjectOptions(), lldb_private::ValueObjectSynthetic::GetDynamicValueType(), and UpdateFormatsIfNeeded().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 956 of file ValueObject.h.
References lldb::eNoDynamicValues.
Referenced by GetDynamicValueType().
const Status & ValueObject::GetError | ( | ) |
Definition at line 284 of file ValueObject.cpp.
References m_error, and UpdateValueIfNeeded().
Referenced by lldb_private::ValueObjectPrinter::GetValueSummaryError(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), and lldb_private::ValueObjectSynthetic::UpdateValue().
|
inline |
Definition at line 330 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), and m_update_point.
Referenced by AddressOf(), lldb_private::ValueObjectConstResultImpl::AddressOf(), CalculateDynamicValue(), lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectConstResult::CalculateNumChildren(), lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectMemory::CalculateNumChildren(), lldb_private::ValueObjectRegister::CalculateNumChildren(), lldb_private::ValueObjectVariable::CalculateNumChildren(), CastPointerType(), lldb_private::ValueObjectSynthetic::CopyValueData(), CreateChildAtIndex(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), CreateConstantValue(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), Dereference(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), ExtractFields(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::StringSummaryFormat::FormatObject(), lldb_private::ValueObjectCast::GetByteSize(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectMemory::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ValueObjectRegister::GetCompilerTypeImpl(), GetData(), lldb_private::ItaniumABILanguageRuntime::GetDynamicTypeAndAddress(), lldb_private::ValueObjectConstResult::GetDynamicValue(), GetObjectDescription(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetPointeeData(), lldb_private::FormatManager::GetPossibleMatches(), GetSyntheticBase(), GetSyntheticChildAtOffset(), GetVBaseBitOffset(), lldb_private::ValueObjectVariable::IsInScope(), IsPossibleDynamicType(), MaybeCalculateCompleteType(), lldb_private::formatters::NSError_SummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), ReadPointedString(), ResolveValue(), SetData(), lldb_private::ValueObjectVariable::SetData(), SetValueFromCString(), lldb_private::ValueObjectVariable::SetValueFromCString(), NSErrorSyntheticFrontEnd::Update(), NSIndexPathSyntheticFrontEnd::Update(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), and lldb_private::ValueObjectVariable::UpdateValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegister.
Definition at line 1902 of file ValueObject.cpp.
References CanProvideValue(), eGetExpressionPathFormatDereferencePointers, eGetExpressionPathFormatHonorPointers, GetCompilerType(), lldb_private::ConstString::GetCString(), GetExpressionPath(), GetName(), GetNonBaseClassParent(), GetParent(), lldb_private::Value::GetScalar(), lldb_private::ConstString::GetStringRef(), lldb_private::CompilerType::GetTypeInfo(), GetTypeName(), GetValueAsCString(), GetValueAsUnsigned(), lldb_private::Value::GetValueType(), IsBaseClass(), IsDereferenceOfParent(), lldb_private::ConstString::IsEmpty(), IsPointerOrReferenceType(), LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_flags, lldb_private::ValueObject::Bitflags::m_is_array_item_for_pointer, lldb_private::ValueObject::Bitflags::m_is_synthetic_children_generated, m_name, m_value, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), lldb_private::Scalar::ULongLong(), and UpdateValueIfNeeded().
Referenced by AddressOf(), Dereference(), DumpPrintableRepresentation(), GetExpressionPath(), and lldb_private::ValueObjectPrinter::PrintDecl().
lldb::Format ValueObject::GetFormat | ( | ) | const |
Definition at line 3081 of file ValueObject.cpp.
References lldb::eFormatDefault, m_format, and m_parent.
Referenced by GetValueAsCString(), lldb_private::ValueObjectPrinter::GetValueSummaryError(), and lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update().
|
inline |
Definition at line 346 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), lldb_private::ExecutionContextRef::GetFrameSP(), and m_update_point.
Referenced by GetPreferredDisplayLanguage().
|
inline |
Returns a unique id for this ValueObject.
Definition at line 470 of file ValueObject.h.
References lldb_private::UserID::GetID(), and m_id.
Referenced by lldb_private::ValueObjectList::FindValueObjectByUID(), and lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegisterSet, and lldb_private::ValueObjectSynthetic.
Definition at line 463 of file ValueObject.cpp.
References GetCompilerType(), lldb_private::ConstString::GetCString(), and lldb_private::CompilerType::GetIndexOfChildWithName().
Referenced by DummySyntheticFrontEnd::GetIndexOfChildWithName().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 693 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::IsConstant(), and m_update_point.
Referenced by UpdateValueIfNeeded().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 789 of file ValueObject.h.
References m_language_flags.
Referenced by lldb_private::ValueObjectDynamicValue::GetLanguageFlags(), and lldb_private::ValueObjectSynthetic::GetLanguageFlags().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectConstResult.
Definition at line 616 of file ValueObject.h.
References LLDB_INVALID_ADDRESS.
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 508 of file ValueObject.h.
References GetLocationAsCStringImpl(), m_data, and m_value.
Referenced by DumpPrintableRepresentation(), DumpValue(), lldb_private::ValueObjectVariable::GetLocationAsCString(), and lldb_private::ValueObjectPrinter::PrintLocationIfNeeded().
|
protected |
Definition at line 289 of file ValueObject.cpp.
References lldb::eEncodingVector, lldb_private::Value::FileAddress, lldb_private::DataExtractor::GetAddressByteSize(), lldb_private::Value::GetContextType(), lldb_private::Value::GetRegisterInfo(), lldb_private::Value::GetScalar(), lldb_private::StreamString::GetString(), lldb_private::Value::GetValueType(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_location_str, lldb_private::Stream::Printf(), lldb_private::Value::RegisterInfo, lldb_private::Value::Scalar, lldb_private::Scalar::ULongLong(), and UpdateValueIfNeeded().
Referenced by GetLocationAsCString(), and lldb_private::ValueObjectVariable::GetLocationAsCString().
|
inlineprotected |
Definition at line 946 of file ValueObject.h.
References m_manager.
|
virtual |
Return the module associated with this value object in case the value is from an executable file and might have its data in sections of the file.
This can be used for variables.
Reimplemented in lldb_private::ValueObjectMemory, and lldb_private::ValueObjectVariable.
Definition at line 3036 of file ValueObject.cpp.
References GetModule(), and GetRoot().
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), lldb_private::formatters::GetArrayAddressOrPointerValue(), GetData(), GetModule(), GetPointeeData(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), and lldb_private::ValueObjectDynamicValue::UpdateValue().
|
inline |
Definition at line 467 of file ValueObject.h.
References m_name.
Referenced by lldb_private::ValueObjectConstResultImpl::AddressOf(), lldb_private::ValueObjectSynthetic::CalculateNumChildren(), Cast(), lldb_private::ValueObjectConstResultImpl::Cast(), DumpPrintableRepresentation(), lldb_private::ValueObjectList::FindValueObjectByValueName(), lldb_private::ValueObjectSynthetic::GetChildAtIndex(), lldb_private::TypeSystemClang::GetChildCompilerTypeAtIndex(), GetExpressionPath(), lldb_private::ValueObjectPrinter::GetRootNameForDisplay(), IsRuntimeSupportValue(), UpdateFormatsIfNeeded(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectDynamicValue::ValueObjectDynamicValue(), lldb_private::ValueObjectRecognizerSynthesizedValue::ValueObjectRecognizerSynthesizedValue(), and lldb_private::ValueObjectSynthetic::ValueObjectSynthetic().
ValueObject * ValueObject::GetNonBaseClassParent | ( | ) |
Definition at line 1877 of file ValueObject.cpp.
References GetNonBaseClassParent(), GetParent(), and IsBaseClass().
Referenced by GetExpressionPath(), and GetNonBaseClassParent().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 592 of file ValueObject.h.
References GetSP().
Referenced by lldb_private::formatters::GetLibCxxAtomicValue(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), lldb_private::formatters::LibcxxFunctionSummaryProvider(), lldb_private::formatters::LibcxxOptionalSummaryProvider(), lldb_private::formatters::LibcxxSmartPointerSummaryProvider(), lldb_private::formatters::LibcxxUniquePointerSummaryProvider(), lldb_private::formatters::LibcxxVariantSummaryProvider(), lldb_private::formatters::LibStdcppSmartPointerSummaryProvider(), and lldb_private::formatters::StdlibCoroutineHandleSummaryProvider().
size_t ValueObject::GetNumChildren | ( | uint32_t | max = UINT32_MAX | ) |
Definition at line 497 of file ValueObject.cpp.
References CalculateNumChildren(), lldb_private::ValueObject::ChildrenManager::GetChildrenCount(), m_children, lldb_private::ValueObject::Bitflags::m_children_count_valid, m_flags, SetNumChildren(), UINT32_MAX, and UpdateValueIfNeeded().
Referenced by DummySyntheticFrontEnd::CalculateNumChildren(), lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectRecognizerSynthesizedValue::CalculateNumChildren(), lldb_private::ValueObjectRegisterSet::CreateChildAtIndex(), DumpPrintableRepresentation(), DumpValue(), lldb_private::formatters::GenericOptionalSummaryProvider(), GetChildAtIndex(), lldb_private::ValueObjectPrinter::GetMaxNumChildrenToPrint(), MightHaveChildren(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
const char * ValueObject::GetObjectDescription | ( | ) |
Definition at line 1008 of file ValueObject.cpp.
References lldb::eLanguageTypeObjC, GetExecutionContextRef(), lldb_private::Process::GetLanguageRuntime(), GetObjectRuntimeLanguage(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::StreamString::GetString(), lldb_private::Language::LanguageIsCFamily(), m_object_desc_str, and UpdateValueIfNeeded().
Referenced by DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GetDescriptionForDisplay(), and lldb_private::ValueObjectPrinter::PrintObjectDescriptionIfNeeded().
|
inlinevirtual |
Definition at line 373 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetMinimumLanguage().
Referenced by lldb_private::TypeCategoryMap::Get(), lldb_private::LanguageCategory::Get(), GetObjectDescription(), lldb_private::FormatManager::GetPossibleMatches(), IsLogicalTrue(), IsNilReference(), lldb_private::CPlusPlusLanguage::IsNilReference(), lldb_private::Process::IsPossibleDynamicValue(), IsUninitializedReference(), MaybeCalculateCompleteType(), lldb_private::ClangUserExpression::ScanContext(), and lldb_private::ValueObjectDynamicValue::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 753 of file ValueObject.h.
References m_parent.
Referenced by DerefToNSErrorPointer(), ExtractFields(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), GetExpressionPath(), GetNonBaseClassParent(), lldb_private::ValueObjectCast::GetParent(), lldb_private::ValueObjectDynamicValue::GetParent(), lldb_private::ValueObjectSynthetic::GetParent(), and IsBaseClass().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 755 of file ValueObject.h.
References m_parent.
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 672 of file ValueObject.cpp.
References lldb_private::DataBufferHeap::CopyData(), Dereference(), lldb_private::eAddressTypeFile, lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, lldb_private::eAddressTypeLoad, error(), GetAddressOf(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetChildAtIndex(), GetCompilerType(), GetExecutionContextRef(), GetModule(), GetPointerValue(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::GetScalar(), lldb_private::ExecutionContext::GetTargetPtr(), GetTypeInfo(), LLDB_INVALID_ADDRESS, m_value, lldb_private::Target::ReadMemory(), lldb_private::Process::ReadMemory(), lldb_private::DataBufferHeap::SetByteSize(), lldb_private::DataExtractor::SetData(), and lldb_private::Scalar::ULongLong().
Referenced by ReadPointedString().
addr_t ValueObject::GetPointerValue | ( | AddressType * | address_type = nullptr | ) |
Definition at line 1445 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, lldb_private::Value::FileAddress, lldb_private::DataExtractor::GetAddress(), GetAddressTypeOfChildren(), lldb_private::Value::GetScalar(), lldb_private::Value::GetValueType(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_data, m_value, lldb_private::Value::Scalar, lldb_private::Scalar::ULongLong(), and UpdateValueIfNeeded().
Referenced by CastPointerType(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::formatters::GetArrayAddressOrPointerValue(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ItaniumABILanguageRuntime::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntimeV1::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), GetPointeeData(), IsCStringContainer(), ReadPointedString(), and lldb_private::ValueObjectChild::UpdateValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 3091 of file ValueObject.cpp.
References lldb_private::SymbolContext::comp_unit, lldb::eLanguageTypeUnknown, GetFrameSP(), GetPreferredDisplayLanguage(), GetRoot(), and m_preferred_display_language.
Referenced by Dereference(), lldb_private::DumpValueObjectOptions::DumpValueObjectOptions(), GetPreferredDisplayLanguage(), lldb_private::ValueObjectDynamicValue::GetPreferredDisplayLanguage(), lldb_private::ValueObjectSynthetic::GetPreferredDisplayLanguage(), GetSummaryAsCString(), lldb_private::ValueObjectPrinter::GetValueSummaryError(), Persist(), and lldb_private::ValueObjectPrinter::PrintDecl().
|
inline |
Definition at line 338 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), lldb_private::ExecutionContextRef::GetProcessSP(), and m_update_point.
Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), DerefToNSErrorPointer(), ExtractFields(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), IsRuntimeSupportValue(), lldb_private::formatters::LibStdcppStringSummaryProvider(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), MaybeCalculateCompleteType(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDecimalNumberSummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), lldb_private::formatters::NSError_SummaryProvider(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBooleanSummaryProvider(), lldb_private::formatters::ObjCClassSummaryProvider(), NSErrorSyntheticFrontEnd::Update(), NSIndexPathSyntheticFrontEnd::Update(), and lldb_private::ValueObjectChild::UpdateValue().
ValueObjectSP ValueObject::GetQualifiedRepresentationIfAvailable | ( | lldb::DynamicValueType | dynValue, |
bool | synthValue | ||
) |
Definition at line 2607 of file ValueObject.cpp.
References lldb::eDynamicCanRunTarget, lldb::eDynamicDontRunTarget, lldb::eNoDynamicValues, and GetSP().
Referenced by DumpValue(), and lldb_private::FormatManager::GetTypeForCache().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 369 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetTypeName().
Referenced by lldb_private::ValueObjectDynamicValue::GetQualifiedTypeName(), lldb_private::ValueObjectSynthetic::GetQualifiedTypeName(), and lldb_private::ValueObjectPrinter::PrintDecl().
ValueObject * ValueObject::GetRoot | ( | ) |
Definition at line 3043 of file ValueObject.cpp.
References FollowParentChain(), m_parent, and m_root.
Referenced by GetAddressTypeOfChildren(), GetModule(), GetPreferredDisplayLanguage(), lldb_private::ValueObjectChild::IsInScope(), and UpdateChildrenAddressType().
|
inline |
Definition at line 555 of file ValueObject.h.
References lldb_private::ClusterManager< T >::GetSharedPointer(), and m_manager.
Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), lldb_private::ValueObjectConstResultImpl::Cast(), lldb_private::ValueObjectCast::Create(), lldb::SBTypeSummary::CreateWithCallback(), Dereference(), lldb_private::ScriptSummaryFormat::FormatObject(), lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd(), NSErrorSyntheticFrontEnd::GetChildAtIndex(), GetChildAtIndex(), lldb_private::ValueObjectSynthetic::GetChildAtIndex(), GetChildAtIndexPath(), GetChildAtNamePath(), GetChildMemberWithName(), lldb_private::ValueObjectRegisterSet::GetChildMemberWithName(), GetDynamicValue(), lldb_private::ValueObjectConstResult::GetDynamicValue(), lldb_private::ValueObjectSynthetic::GetDynamicValue(), lldb_private::CXXSyntheticChildren::GetFrontEnd(), GetNonSyntheticValue(), lldb_private::ValueObjectSynthetic::GetNonSyntheticValue(), GetQualifiedRepresentationIfAvailable(), GetStaticValue(), lldb_private::ValueObjectDynamicValue::GetStaticValue(), lldb_private::ValueObjectSynthetic::GetStaticValue(), GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), GetSyntheticValue(), GetValueForExpressionPath_Impl(), lldb_private::formatters::LibStdcppUniquePointerSummaryProvider(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::formatters::VectorIteratorSyntheticFrontEnd::Update(), and lldb_private::formatters::VectorTypeSummaryProvider().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 590 of file ValueObject.h.
References GetSP().
Referenced by lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), lldb_private::FormatManager::GetPossibleMatches(), and lldb_private::ValueObjectSynthetic::GetStaticValue().
const char * ValueObject::GetSummaryAsCString | ( | lldb::LanguageType | lang = lldb::eLanguageTypeUnknown | ) |
Definition at line 638 of file ValueObject.cpp.
References GetSummaryAsCString(), GetSummaryFormat(), m_summary_str, lldb_private::TypeSummaryOptions::SetLanguage(), and UpdateValueIfNeeded().
Referenced by DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GetDescriptionForDisplay(), GetSummaryAsCString(), and lldb_private::ValueObjectPrinter::GetValueSummaryError().
bool ValueObject::GetSummaryAsCString | ( | std::string & | destination, |
const TypeSummaryOptions & | options | ||
) |
Definition at line 650 of file ValueObject.cpp.
References GetSummaryAsCString(), and GetSummaryFormat().
bool ValueObject::GetSummaryAsCString | ( | TypeSummaryImpl * | summary_ptr, |
std::string & | destination, | ||
const TypeSummaryOptions & | options | ||
) |
Definition at line 593 of file ValueObject.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::TypeSummaryImpl::FormatObject(), GetCompilerType(), lldb_private::TypeSummaryOptions::GetLanguage(), GetPreferredDisplayLanguage(), HasSyntheticValue(), m_flags, lldb_private::ValueObject::Bitflags::m_is_getting_summary, m_synthetic_value, lldb_private::TypeSummaryOptions::SetLanguage(), and UpdateValueIfNeeded().
bool ValueObject::GetSummaryAsCString | ( | TypeSummaryImpl * | summary_ptr, |
std::string & | destination, | ||
lldb::LanguageType | lang = lldb::eLanguageTypeUnknown |
||
) |
Definition at line 586 of file ValueObject.cpp.
References GetSummaryAsCString().
|
inline |
Definition at line 717 of file ValueObject.h.
References m_type_summary_sp, and UpdateFormatsIfNeeded().
Referenced by GetSummaryAsCString(), lldb_private::ValueObjectPrinter::GetSummaryFormatter(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
|
virtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 2965 of file ValueObject.cpp.
References GetSymbolContextScope(), IsPointerOrReferenceType(), and m_parent.
Referenced by GetSymbolContextScope().
ValueObjectSP ValueObject::GetSyntheticArrayMember | ( | size_t | index, |
bool | can_create | ||
) |
Definition at line 1627 of file ValueObject.cpp.
References AddSyntheticChild(), CreateChildAtIndex(), GetSP(), GetSyntheticChild(), IsArrayType(), and IsPointerType().
Referenced by lldb_private::ValueObjectPrinter::GenerateChild(), and NSIndexPathSyntheticFrontEnd::Impl::OutsourcedIndexes::GetIndexAtIndex().
|
virtual |
Definition at line 1725 of file ValueObject.cpp.
References AddSyntheticChild(), lldb_private::ConstString::AsCString(), lldb_private::eAddressTypeInvalid, lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetExecutionContextRef(), GetSP(), GetSyntheticChild(), lldb_private::CompilerType::GetTypeName(), lldb_private::ConstString::IsEmpty(), lldb_private::ConstString::SetCString(), and ValueObjectChild.
ValueObjectSP ValueObject::GetSyntheticBitFieldChild | ( | uint32_t | from, |
uint32_t | to, | ||
bool | can_create | ||
) |
Definition at line 1654 of file ValueObject.cpp.
References AddSyntheticChild(), lldb_private::eAddressTypeInvalid, lldb::eByteOrderBig, GetByteSize(), GetCompilerType(), GetDataExtractor(), GetSP(), GetSyntheticChild(), IsScalarType(), and ValueObjectChild.
ValueObjectSP ValueObject::GetSyntheticChild | ( | ConstString | key | ) | const |
Definition at line 1569 of file ValueObject.cpp.
References m_synthetic_children.
Referenced by GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), and GetSyntheticExpressionPathChild().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 1688 of file ValueObject.cpp.
References AddSyntheticChild(), lldb_private::eAddressTypeInvalid, lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetExecutionContextRef(), GetSP(), GetSyntheticChild(), lldb_private::ConstString::IsEmpty(), lldb_private::ConstString::SetString(), and ValueObjectChild.
Referenced by lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), and NSIndexPathSyntheticFrontEnd::Update().
|
inline |
Definition at line 744 of file ValueObject.h.
References m_synthetic_children_sp, and UpdateFormatsIfNeeded().
ValueObjectSP ValueObject::GetSyntheticExpressionPathChild | ( | const char * | expression, |
bool | can_create | ||
) |
Definition at line 1781 of file ValueObject.cpp.
References AddSyntheticChild(), GetSyntheticChild(), GetValueForExpressionPath(), and SkipLeadingExpressionPathSeparators().
Referenced by lldb_private::TypeFilterImpl::FrontEnd::GetChildAtIndex().
ValueObjectSP ValueObject::GetSyntheticValue | ( | ) |
Definition at line 1857 of file ValueObject.cpp.
References CalculateSyntheticValue(), GetSP(), and m_synthetic_value.
Referenced by CreateChildAtIndex(), Dereference(), DumpValue(), and lldb_private::ValueObjectPrinter::GetMostSpecializedValue().
|
inline |
Definition at line 334 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), lldb_private::ExecutionContextRef::GetTargetSP(), and m_update_point.
Referenced by lldb_private::formatters::BlockPointerSyntheticFrontEnd::BlockPointerSyntheticFrontEnd(), CalculateSyntheticValue(), CharStringSummaryProvider(), DumpValue(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::ScriptSummaryFormat::FormatObject(), lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::FormatManager::GetPossibleMatches(), LibcxxStringSummaryProvider(), LibcxxWStringSummaryProvider(), lldb_private::formatters::LibStdcppStringSummaryProvider(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::NSAttributedStringSummaryProvider(), NSIndexPathSyntheticFrontEnd::NSIndexPathSyntheticFrontEnd(), lldb_private::formatters::NSStringSummaryProvider(), Persist(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStreamOptions::ReadBufferAndDumpToStreamOptions(), lldb_private::formatters::StringPrinter::ReadStringAndDumpToStreamOptions::ReadStringAndDumpToStreamOptions(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::ValueObjectMemory(), and lldb_private::formatters::WCharStringSummaryProvider().
|
inline |
Definition at line 342 of file ValueObject.h.
References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), lldb_private::ExecutionContextRef::GetThreadSP(), and m_update_point.
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 355 of file ValueObject.h.
References GetCompilerType().
Referenced by lldb_private::ValueObjectDynamicValue::GetTypeImpl().
|
inlinevirtual |
Definition at line 378 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetTypeInfo().
Referenced by DumpPrintableRepresentation(), lldb_private::UserExpression::Evaluate(), GetPointeeData(), HasSpecialPrintableRepresentation(), IsCStringContainer(), MightHaveChildren(), ReadPointedString(), and lldb_private::ValueObjectChild::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 365 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetTypeName().
Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), Dereference(), DumpPrintableRepresentation(), DumpValue(), GetDisplayTypeName(), GetExpressionPath(), lldb_private::ItaniumABILanguageRuntime::GetTypeInfoFromVTableAddress(), lldb_private::ValueObjectDynamicValue::GetTypeName(), lldb_private::ValueObjectSynthetic::GetTypeName(), and lldb_private::ValueObjectSynthetic::UpdateValue().
|
inline |
Definition at line 328 of file ValueObject.h.
References m_update_point.
|
inline |
Definition at line 326 of file ValueObject.h.
References m_update_point.
Referenced by MaybeCalculateCompleteType().
|
inline |
Definition at line 499 of file ValueObject.h.
References m_value.
|
inline |
Definition at line 497 of file ValueObject.h.
References m_value.
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), lldb_private::TypeFormatImpl_Format::FormatObject(), GetValueAsCString(), IRInterpreter::Interpret(), lldb_private::ValueObjectPrinter::IsInstancePointer(), Persist(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), and lldb_private::ValueObjectRecognizerSynthesizedValue::UpdateValue().
|
virtual |
Definition at line 1058 of file ValueObject.cpp.
References lldb::eFormatDefault, lldb::eFormatUnsigned, lldb_private::Value::GetCompilerType(), lldb_private::Value::GetContextType(), GetFormat(), lldb_private::CompilerType::GetFormat(), lldb_private::Value::GetRegisterInfo(), GetValue(), GetValueAsCString(), m_flags, lldb_private::ValueObject::Bitflags::m_is_bitfield_for_scalar, m_last_format, m_old_value_str, lldb_private::ValueObject::Bitflags::m_old_value_valid, m_type_format_sp, m_value, lldb_private::ValueObject::Bitflags::m_value_did_change, m_value_str, lldb_private::Value::RegisterInfo, SetValueDidChange(), and UpdateValueIfNeeded().
Referenced by CharSummaryProvider(), DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GetDescriptionForDisplay(), GetExpressionPath(), GetValueAsCString(), and lldb_private::ValueObjectPrinter::GetValueSummaryError().
|
virtual |
Definition at line 1045 of file ValueObject.cpp.
References lldb_private::TypeFormatImpl::FormatObject(), and UpdateValueIfNeeded().
bool ValueObject::GetValueAsCString | ( | lldb::Format | format, |
std::string & | destination | ||
) |
Definition at line 1053 of file ValueObject.cpp.
References GetValueAsCString().
|
virtual |
Definition at line 1117 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::MakeSigned(), ResolveValue(), and lldb_private::Scalar::SLongLong().
Referenced by lldb_private::formatters::CFAbsoluteTimeSummaryProvider().
|
virtual |
Definition at line 1099 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::MakeUnsigned(), ResolveValue(), and lldb_private::Scalar::ULongLong().
Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), CreateConstantValue(), DerefToNSErrorPointer(), ExtractFields(), GetExpressionPath(), GetVTableAddress(), lldb_private::CPlusPlusLanguage::IsNilReference(), lldb_private::ObjCLanguage::IsNilReference(), lldb_private::formatters::LibcxxContainerSummaryProvider(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSAttributedStringSummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDecimalNumberSummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBooleanSummaryProvider(), lldb_private::formatters::ObjCClassSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::ValueObjectDynamicValue::SetData(), and lldb_private::ValueObjectDynamicValue::SetValueFromCString().
|
inline |
Definition at line 549 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_value_did_change.
Referenced by lldb_private::ValueObjectCast::UpdateValue().
ValueObjectSP ValueObject::GetValueForExpressionPath | ( | llvm::StringRef | expression, |
ExpressionPathScanEndReason * | reason_to_stop = nullptr , |
||
ExpressionPathEndResultType * | final_value_type = nullptr , |
||
const GetValueForExpressionPathOptions & | options = GetValueForExpressionPathOptions::DefaultOptions() , |
||
ExpressionPathAftermath * | final_task_on_target = nullptr |
||
) |
Definition at line 1997 of file ValueObject.cpp.
References eExpressionPathAftermathDereference, eExpressionPathAftermathNothing, eExpressionPathAftermathTakeAddress, eExpressionPathEndResultTypeInvalid, eExpressionPathEndResultTypePlain, eExpressionPathScanEndReasonDereferencingFailed, eExpressionPathScanEndReasonTakingAddressFailed, eExpressionPathScanEndReasonUnknown, error(), and GetValueForExpressionPath_Impl().
Referenced by DumpValue(), ExpandIndexedExpression(), and GetSyntheticExpressionPathChild().
|
private |
Definition at line 2065 of file ValueObject.cpp.
References lldb_private::Flags::AllClear(), lldb_private::ValueObject::GetValueForExpressionPathOptions::Both, eExpressionPathAftermathDereference, eExpressionPathAftermathNothing, eExpressionPathEndResultTypeBitfield, eExpressionPathEndResultTypeBoundedRange, eExpressionPathEndResultTypeInvalid, eExpressionPathEndResultTypePlain, eExpressionPathEndResultTypeUnboundedRange, eExpressionPathScanEndReasonArrayRangeOperatorMet, eExpressionPathScanEndReasonArrowInsteadOfDot, eExpressionPathScanEndReasonBitfieldRangeOperatorMet, eExpressionPathScanEndReasonDereferencingFailed, eExpressionPathScanEndReasonDotInsteadOfArrow, eExpressionPathScanEndReasonEmptyRangeNotAllowed, eExpressionPathScanEndReasonEndOfString, eExpressionPathScanEndReasonFragileIVarNotAllowed, eExpressionPathScanEndReasonNoSuchChild, eExpressionPathScanEndReasonRangeOperatorInvalid, eExpressionPathScanEndReasonRangeOperatorNotAllowed, eExpressionPathScanEndReasonSyntheticValueMissing, eExpressionPathScanEndReasonUnexpectedSymbol, lldb::eLanguageTypeObjC, error(), lldb_private::ValueObject::GetValueForExpressionPathOptions::FromSynthetic, GetSP(), lldb_private::CompilerType::GetTypeInfo(), lldb_private::ValueObject::GetValueForExpressionPathOptions::m_allow_bitfields_syntax, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_check_dot_vs_arrow_syntax, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_no_fragile_ivar, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_synthetic_children_traversal, lldb_private::ValueObject::GetValueForExpressionPathOptions::None, lldb_private::Flags::Reset(), lldb_private::ConstString::SetString(), lldb_private::Flags::Test(), and lldb_private::ValueObject::GetValueForExpressionPathOptions::ToSynthetic.
Referenced by GetValueForExpressionPath().
|
inline |
Definition at line 732 of file ValueObject.h.
References m_type_format_sp, and UpdateFormatsIfNeeded().
|
inline |
Definition at line 545 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_value_is_valid.
Referenced by UpdateValueIfNeeded().
|
pure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Referenced by lldb_private::ValueObjectCast::GetValueType(), lldb_private::ValueObjectChild::GetValueType(), lldb_private::ValueObjectDynamicValue::GetValueType(), and lldb_private::ValueObjectSynthetic::GetValueType().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectVariable.
Definition at line 785 of file ValueObject.h.
Referenced by lldb_private::ValueObjectDynamicValue::GetVariable(), and IsRuntimeSupportValue().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 960 of file ValueObject.h.
Referenced by GetDynamicValueType().
bool ValueObject::HasSpecialPrintableRepresentation | ( | ValueObjectRepresentationStyle | val_obj_display, |
lldb::Format | custom_format | ||
) |
Definition at line 1139 of file ValueObject.cpp.
References lldb_private::Flags::AnySet(), lldb::eFormatBytes, lldb::eFormatBytesWithASCII, lldb::eFormatChar, lldb::eFormatCharArray, lldb::eFormatCString, lldb::eFormatVectorOfChar, lldb::eFormatVectorOfFloat32, lldb::eFormatVectorOfFloat64, lldb::eFormatVectorOfSInt16, lldb::eFormatVectorOfSInt32, lldb::eFormatVectorOfSInt64, lldb::eFormatVectorOfSInt8, lldb::eFormatVectorOfUInt128, lldb::eFormatVectorOfUInt16, lldb::eFormatVectorOfUInt32, lldb::eFormatVectorOfUInt64, lldb::eFormatVectorOfUInt8, eValueObjectRepresentationStyleValue, GetTypeInfo(), IsCStringContainer(), and lldb_private::Flags::Test().
Referenced by DumpValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 1866 of file ValueObject.cpp.
References CalculateSyntheticValue(), m_synthetic_children_sp, m_synthetic_value, and UpdateFormatsIfNeeded().
Referenced by Dereference(), and GetSummaryAsCString().
|
inlinevirtual |
Definition at line 432 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_is_array_item_for_pointer.
|
inlinevirtual |
Definition at line 384 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsArrayType().
Referenced by lldb_private::formatters::GetArrayAddressOrPointerValue(), and GetSyntheticArrayMember().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, and lldb_private::ValueObjectDynamicValue.
Definition at line 398 of file ValueObject.h.
Referenced by DerefToNSErrorPointer(), ExtractFields(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), GetExpressionPath(), GetNonBaseClassParent(), lldb_private::ValueObjectDynamicValue::IsBaseClass(), IsBaseClass(), and lldb_private::ValueObjectPrinter::IsInstancePointer().
bool ValueObject::IsBaseClass | ( | uint32_t & | depth | ) |
Definition at line 1887 of file ValueObject.cpp.
References GetParent(), and IsBaseClass().
|
inline |
Definition at line 428 of file ValueObject.h.
References GetBitfieldBitOffset(), and GetBitfieldBitSize().
Referenced by CreateConstantValue(), DumpValue(), and GetAddressOf().
|
inlineprotected |
Definition at line 998 of file ValueObject.h.
References m_value_checksum.
Referenced by UpdateValueIfNeeded().
bool ValueObject::IsCStringContainer | ( | bool | check_pointer = false | ) |
Returns true if this is a char* or a char[] if it is a char* and check_pointer is true, it also checks that the pointer is valid.
Definition at line 655 of file ValueObject.cpp.
References lldb_private::Flags::AnySet(), lldb_private::eAddressTypeInvalid, GetPointerValue(), GetTypeInfo(), lldb_private::CompilerType::IsCharType(), LLDB_INVALID_ADDRESS, and lldb_private::Flags::Test().
Referenced by DumpPrintableRepresentation(), and HasSpecialPrintableRepresentation().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 402 of file ValueObject.h.
Referenced by GetExpressionPath().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 637 of file ValueObject.h.
Referenced by CalculateDynamicValue(), GetDynamicValue(), lldb_private::ValueObjectConstResult::GetDynamicValue(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ValueObjectSynthetic::IsDynamic(), and lldb_private::Process::IsPossibleDynamicValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 420 of file ValueObject.h.
Referenced by lldb_private::ValueObjectPrinter::CheckScopeIfNeeded(), lldb_private::ValueObjectCast::IsInScope(), lldb_private::ValueObjectChild::IsInScope(), lldb_private::ValueObjectDynamicValue::IsInScope(), lldb_private::ValueObjectSynthetic::IsInScope(), and UpdateValueIfNeeded().
|
inline |
Definition at line 404 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsIntegerType().
|
virtual |
Definition at line 351 of file ValueObject.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, error(), lldb_private::Language::FindPlugin(), GetObjectRuntimeLanguage(), ResolveValue(), and lldb_private::Scalar::ULongLong().
bool ValueObject::IsNilReference | ( | ) |
Definition at line 1604 of file ValueObject.cpp.
References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().
Referenced by lldb_private::ValueObjectPrinter::IsNil().
|
inlinevirtual |
Definition at line 388 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsPointerOrReferenceType().
Referenced by Dereference(), GetExpressionPath(), and GetSymbolContextScope().
|
inlinevirtual |
Definition at line 382 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsPointerType().
Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::formatters::GetArrayAddressOrPointerValue(), GetSyntheticArrayMember(), lldb_private::CPlusPlusLanguage::IsNilReference(), and lldb_private::formatters::LibcxxContainerSummaryProvider().
|
virtual |
Definition at line 1578 of file ValueObject.cpp.
References GetCompilerType(), GetExecutionContextRef(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::CompilerType::IsPossibleDynamicType(), and lldb_private::Process::IsPossibleDynamicValue().
Referenced by GetChildAtIndex(), and GetChildMemberWithName().
|
virtual |
Definition at line 1587 of file ValueObject.cpp.
References lldb_private::Process::GetLanguageRuntime(), GetName(), GetProcessSP(), and GetVariable().
|
inlinevirtual |
Definition at line 386 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsScalarType().
Referenced by GetSyntheticBitFieldChild().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Definition at line 598 of file ValueObject.h.
Referenced by Dereference(), DumpValue(), lldb_private::DumpValueObjectOptions::DumpValueObjectOptions(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), and lldb_private::FormatManager::GetTypeForCache().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 641 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_is_synthetic_children_generated.
Referenced by lldb_private::ValueObjectDynamicValue::IsSyntheticChildrenGenerated(), and lldb_private::ValueObjectSynthetic::IsSyntheticChildrenGenerated().
bool ValueObject::IsUninitializedReference | ( | ) |
Definition at line 1611 of file ValueObject.cpp.
References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().
Referenced by lldb_private::ValueObjectPrinter::IsUninitialized().
|
privatevirtual |
Definition at line 247 of file ValueObject.cpp.
References GetCompilerTypeImpl(), GetExecutionContextRef(), GetObjectRuntimeLanguage(), GetProcessSP(), GetUpdatePoint(), lldb_private::CompilerType::IsValid(), lldb_private::ValueObject::Bitflags::m_did_calculate_complete_objc_class_type, m_flags, and m_override_type.
Referenced by GetCompilerType().
|
virtual |
Find out if a ValueObject might have children.
This call is much more efficient than CalculateNumChildren() as it doesn't need to complete the underlying type. This is designed to be used in a UI environment in order to detect if the disclosure triangle should be displayed or not.
This function returns true for class, union, structure, pointers, references, arrays and more. Again, it does so without doing any expensive type completion.
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 514 of file ValueObject.cpp.
References GetNumChildren(), and GetTypeInfo().
Referenced by lldb_private::ValueObjectPrinter::ShouldPrintEmptyBrackets().
|
inline |
Definition at line 695 of file ValueObject.h.
References CanUpdateWithInvalidExecutionContext(), lldb_private::eLazyBoolYes, m_update_point, and lldb_private::ValueObject::EvaluationPoint::NeedsUpdating().
Referenced by UpdateValueIfNeeded().
|
privatedelete |
ValueObjectSP ValueObject::Persist | ( | ) |
Definition at line 3125 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::PersistentExpressionState::CreatePersistentVariable(), lldb_private::ExpressionVariable::EVIsProgramReference, lldb_private::PersistentExpressionState::GetNextPersistentVariableName(), GetPreferredDisplayLanguage(), GetTargetSP(), GetValue(), and UpdateValueIfNeeded().
std::pair< size_t, bool > ValueObject::ReadPointedString | ( | lldb::WritableDataBufferSP & | buffer_sp, |
Status & | error, | ||
uint32_t | max_length = 0 , |
||
bool | honor_array = true , |
||
lldb::Format | item_format = lldb::eFormatCharArray |
||
) |
Definition at line 869 of file ValueObject.cpp.
References lldb_private::Flags::AnySet(), CopyStringDataToBufferSP(), lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, error(), GetAddressOf(), lldb_private::DataExtractor::GetByteSize(), GetCompilerType(), GetDataExtractor(), GetExecutionContextRef(), lldb_private::TargetProperties::GetMaximumSizeOfStringSummary(), GetPointeeData(), GetPointerValue(), lldb_private::ExecutionContext::GetTargetPtr(), GetTypeInfo(), lldb_private::CompilerType::IsArrayType(), lldb_private::CompilerType::IsCharType(), LLDB_INVALID_ADDRESS, lldb_private::DataExtractor::PeekCStr(), lldb_private::DataExtractor::PeekData(), lldb_private::Stream::Printf(), and lldb_private::Flags::Test().
Referenced by DumpPrintableRepresentation().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegister.
Definition at line 333 of file ValueObject.cpp.
References lldb_private::Scalar::ExtractBitfield(), GetBitfieldBitOffset(), GetBitfieldBitSize(), GetExecutionContextRef(), lldb_private::Scalar::IsValid(), m_value, lldb_private::Value::ResolveValue(), and UpdateValueIfNeeded().
Referenced by lldb_private::AppleObjCRuntime::GetObjectDescription(), GetValueAsSigned(), GetValueAsUnsigned(), and IsLogicalTrue().
|
inline |
Definition at line 759 of file ValueObject.h.
References m_address_type_of_ptr_or_ref_children.
Referenced by lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::ValueObjectChild(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
virtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegister, and lldb_private::ValueObjectVariable.
Definition at line 792 of file ValueObject.cpp.
References lldb_private::Status::AsCString(), lldb_private::DataExtractor::CopyByteOrderedData(), error(), lldb_private::Value::FileAddress, lldb_private::DataExtractor::GetByteOrder(), GetByteSize(), GetCompilerType(), lldb_private::DataExtractor::GetDataStart(), lldb_private::CompilerType::GetEncoding(), GetExecutionContextRef(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::GetScalar(), lldb_private::Value::GetValueType(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_data, m_value, lldb_private::Value::Scalar, lldb_private::DataExtractor::SetData(), SetNeedsUpdate(), lldb_private::Scalar::SetValueFromData(), lldb_private::Status::Success(), lldb_private::Scalar::ULongLong(), UpdateValueIfNeeded(), and lldb_private::Process::WriteMemory().
Referenced by lldb_private::ValueObjectDynamicValue::SetData(), and lldb_private::ValueObjectVariable::SetData().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 705 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, and m_format.
Referenced by DumpPrintableRepresentation(), and lldb_private::ValueObjectSynthetic::SetFormat().
|
inline |
Definition at line 765 of file ValueObject.h.
References lldb_private::ValueObject::Bitflags::m_did_calculate_complete_objc_class_type, and m_flags.
|
inline |
Definition at line 701 of file ValueObject.h.
References m_update_point, and lldb_private::ValueObject::EvaluationPoint::SetIsConstant().
Referenced by lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 791 of file ValueObject.h.
References m_language_flags.
Referenced by lldb_private::ValueObjectDynamicValue::SetLanguageFlags(), lldb_private::ValueObjectSynthetic::SetLanguageFlags(), and lldb_private::ValueObjectChild::ValueObjectChild().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectConstResult.
Definition at line 618 of file ValueObject.h.
|
inline |
Change the name of the current ValueObject.
Should not be used from a synthetic child provider as it would change the name of the non synthetic child as well.
Definition at line 560 of file ValueObject.h.
References m_name.
Referenced by lldb_private::ValueObjectCast::ValueObjectCast(), lldb_private::ValueObjectDynamicValue::ValueObjectDynamicValue(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectRecognizerSynthesizedValue::ValueObjectRecognizerSynthesizedValue(), and lldb_private::ValueObjectSynthetic::ValueObjectSynthetic().
void ValueObject::SetNeedsUpdate | ( | ) |
Definition at line 230 of file ValueObject.cpp.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, m_update_point, and lldb_private::ValueObject::EvaluationPoint::SetNeedsUpdate().
Referenced by SetData(), lldb_private::ValueObjectDynamicValue::SetData(), lldb_private::ValueObjectRegister::SetData(), lldb_private::ValueObjectVariable::SetData(), SetValueFromCString(), lldb_private::ValueObjectDynamicValue::SetValueFromCString(), lldb_private::ValueObjectRegister::SetValueFromCString(), and lldb_private::ValueObjectVariable::SetValueFromCString().
|
protected |
Definition at line 527 of file ValueObject.cpp.
References m_children, lldb_private::ValueObject::Bitflags::m_children_count_valid, m_flags, and lldb_private::ValueObject::ChildrenManager::SetChildrenCount().
Referenced by GetNumChildren().
|
inline |
Definition at line 713 of file ValueObject.h.
References m_preferred_display_language.
Referenced by lldb_private::ValueObjectDynamicValue::SetPreferredDisplayLanguage(), lldb_private::ValueObjectSynthetic::SetPreferredDisplayLanguage(), and SetPreferredDisplayLanguageIfNeeded().
|
protected |
Definition at line 3110 of file ValueObject.cpp.
References lldb::eLanguageTypeUnknown, m_preferred_display_language, and SetPreferredDisplayLanguage().
|
inline |
Definition at line 722 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsSummary, and m_type_summary_sp.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
|
inline |
Definition at line 737 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsSyntheticChildren, and m_synthetic_children_sp.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 645 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_is_synthetic_children_generated.
Referenced by lldb_private::ValueObjectDynamicValue::SetSyntheticChildrenGenerated(), and lldb_private::ValueObjectSynthetic::SetSyntheticChildrenGenerated().
|
inlineprotected |
Definition at line 976 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_value_did_change.
Referenced by GetValueAsCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), and UpdateValueIfNeeded().
|
inline |
Definition at line 727 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, and m_type_format_sp.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
|
virtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 1474 of file ValueObject.cpp.
References lldb_private::DataExtractor::CopyByteOrderedData(), error(), lldb_private::Value::FileAddress, lldb_private::DataExtractor::GetByteOrder(), GetByteSize(), GetCompilerType(), lldb_private::Scalar::GetData(), lldb_private::DataExtractor::GetDataStart(), lldb_private::CompilerType::GetEncoding(), GetExecutionContextRef(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::GetScalar(), lldb_private::Value::GetValueType(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_data, m_value, lldb_private::Value::Scalar, lldb_private::DataExtractor::SetByteOrder(), lldb_private::DataExtractor::SetData(), SetNeedsUpdate(), lldb_private::Scalar::SetValueFromCString(), lldb_private::Scalar::ULongLong(), UpdateValueIfNeeded(), and lldb_private::Process::WriteScalarToMemory().
Referenced by lldb_private::ValueObjectDynamicValue::SetValueFromCString(), lldb_private::ValueObjectSynthetic::SetValueFromCString(), and lldb_private::ValueObjectVariable::SetValueFromCString().
|
inlineprotected |
Definition at line 980 of file ValueObject.h.
References m_flags, and lldb_private::ValueObject::Bitflags::m_value_is_valid.
Referenced by lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectConstResult::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), UpdateValueIfNeeded(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
inlineprivate |
Definition at line 1007 of file ValueObject.h.
References DoUpdateChildrenAddressType(), and GetRoot().
Referenced by UpdateValueIfNeeded().
bool ValueObject::UpdateFormatsIfNeeded | ( | ) |
Definition at line 203 of file ValueObject.cpp.
References lldb_private::DataFormatters, lldb::eNoDynamicValues, lldb_private::DataVisualization::GetCurrentRevision(), GetDynamicValueType(), lldb_private::DataVisualization::GetFormat(), lldb_private::GetLog(), GetName(), lldb_private::DataVisualization::GetSummaryFormat(), lldb_private::DataVisualization::GetSyntheticChildren(), LLDB_LOGF, m_last_format_mgr_revision, SetSummaryFormat(), SetSyntheticChildren(), and SetValueFormat().
Referenced by CalculateSyntheticValue(), GetSummaryFormat(), GetSyntheticChildren(), GetValueFormat(), HasSyntheticValue(), and UpdateValueIfNeeded().
|
protectedpure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectRecognizerSynthesizedValue.
Referenced by UpdateValueIfNeeded().
bool ValueObject::UpdateValueIfNeeded | ( | bool | update_format = true | ) |
Definition at line 112 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::DataExtractor::Checksum(), lldb_private::Status::Clear(), ClearUserVisibleData(), eClearUserVisibleDataItemsDescription, eClearUserVisibleDataItemsSummary, eClearUserVisibleDataItemsValue, GetIsConstant(), GetValueIsValid(), IsChecksumEmpty(), IsInScope(), m_data, m_error, m_flags, m_old_value_str, lldb_private::ValueObject::Bitflags::m_old_value_valid, m_update_point, m_value_checksum, lldb_private::ValueObject::Bitflags::m_value_did_change, m_value_str, NeedsUpdating(), lldb_private::Status::SetErrorString(), lldb_private::ValueObject::EvaluationPoint::SetUpdated(), SetValueDidChange(), SetValueIsValid(), lldb_private::Status::Success(), UpdateChildrenAddressType(), UpdateFormatsIfNeeded(), and UpdateValue().
Referenced by lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectSynthetic::CalculateNumChildren(), lldb_private::ValueObjectSynthetic::CanProvideValue(), lldb_private::ValueObjectSynthetic::CopyValueData(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), CreateConstantValue(), lldb_private::ValueObjectSynthetic::DoesProvideSyntheticValue(), GetAddressOf(), lldb_private::ValueObjectDynamicValue::GetByteSize(), GetChildAtIndex(), lldb_private::ValueObjectSynthetic::GetChildAtIndex(), GetChildMemberWithName(), lldb_private::ValueObjectSynthetic::GetChildMemberWithName(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), GetData(), GetDataExtractor(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), GetError(), GetExpressionPath(), lldb_private::ValueObjectSynthetic::GetIndexOfChildWithName(), GetLocationAsCStringImpl(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), GetNumChildren(), GetObjectDescription(), GetPointerValue(), lldb_private::ValueObjectDynamicValue::GetQualifiedTypeName(), GetSummaryAsCString(), lldb_private::ValueObjectDynamicValue::GetTypeImpl(), lldb_private::ValueObjectDynamicValue::GetTypeName(), GetValueAsCString(), Persist(), ResolveValue(), lldb_private::ValueObjectRegister::ResolveValue(), SetData(), lldb_private::ValueObjectDynamicValue::SetData(), lldb_private::ValueObjectVariable::SetData(), SetValueFromCString(), lldb_private::ValueObjectDynamicValue::SetValueFromCString(), lldb_private::ValueObjectVariable::SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), and lldb_private::ValueObjectRecognizerSynthesizedValue::UpdateValue().
|
inlinevirtual |
Definition at line 631 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsDescription, eClearUserVisibleDataItemsSummary, and eClearUserVisibleDataItemsValue.
|
friend |
Definition at line 932 of file ValueObject.h.
|
friend |
Definition at line 933 of file ValueObject.h.
|
friend |
Definition at line 931 of file ValueObject.h.
Referenced by CreateChildAtIndex(), Dereference(), GetSyntheticBase(), GetSyntheticBitFieldChild(), and GetSyntheticChildAtOffset().
|
friend |
Definition at line 934 of file ValueObject.h.
|
friend |
Definition at line 935 of file ValueObject.h.
Referenced by CalculateSyntheticValue().
|
protected |
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.
Definition at line 887 of file ValueObject.h.
Referenced by AddressOf().
|
protected |
Definition at line 896 of file ValueObject.h.
Referenced by GetAddressTypeOfChildren(), and SetAddressTypeOfChildren().
|
protected |
Definition at line 878 of file ValueObject.h.
Referenced by GetChildAtIndex(), GetNumChildren(), SetNumChildren(), and lldb_private::ValueObjectRegisterSet::UpdateValue().
|
protected |
A data extractor that can be used to extract the value.
Definition at line 851 of file ValueObject.h.
Referenced by AddressOf(), lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), GetData(), GetDataExtractor(), GetLocationAsCString(), lldb_private::ValueObjectVariable::GetLocationAsCString(), GetPointerValue(), SetData(), SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), UpdateValueIfNeeded(), ValueObject(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
protected |
Definition at line 883 of file ValueObject.h.
Referenced by Dereference().
|
protected |
Definition at line 881 of file ValueObject.h.
Referenced by CalculateDynamicValue(), GetDynamicValue(), and lldb_private::ValueObjectConstResult::GetDynamicValue().
|
protected |
An error object that can describe any errors that occur when updating values.
Definition at line 855 of file ValueObject.h.
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), DumpPrintableRepresentation(), GetError(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), UpdateValueIfNeeded(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
protected |
Referenced by ClearDynamicTypeInformation(), GetExpressionPath(), GetNumChildren(), GetSummaryAsCString(), GetValueAsCString(), GetValueDidChange(), GetValueIsValid(), IsArrayItemForPointer(), IsSyntheticChildrenGenerated(), MaybeCalculateCompleteType(), SetHasCompleteType(), SetNumChildren(), SetSyntheticChildrenGenerated(), SetValueDidChange(), SetValueIsValid(), lldb_private::ValueObjectSynthetic::UpdateValue(), UpdateValueIfNeeded(), and ValueObject().
|
protected |
Definition at line 889 of file ValueObject.h.
Referenced by GetFormat(), and SetFormat().
|
protected |
Unique identifier for every value object.
Definition at line 905 of file ValueObject.h.
Referenced by GetID().
|
protected |
Definition at line 902 of file ValueObject.h.
Referenced by GetLanguageFlags(), and SetLanguageFlags().
|
protected |
Definition at line 890 of file ValueObject.h.
Referenced by GetValueAsCString().
|
protected |
Definition at line 891 of file ValueObject.h.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
|
protected |
Cached location string that will get cleared if/when the value is updated.
Definition at line 861 of file ValueObject.h.
Referenced by ClearUserVisibleData(), and GetLocationAsCStringImpl().
|
protected |
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.
Shared pointers to value objects must always be made with the GetSP method.
Definition at line 876 of file ValueObject.h.
Referenced by GetManager(), GetSP(), and ValueObject().
|
protected |
The name of this object.
Definition at line 849 of file ValueObject.h.
Referenced by AddressOf(), lldb_private::ValueObjectRegister::ConstructObject(), GetExpressionPath(), GetName(), SetName(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectChild::ValueObjectChild(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResultCast::ValueObjectConstResultCast(), lldb_private::ValueObjectConstResultChild::ValueObjectConstResultChild(), lldb_private::ValueObjectRegisterSet::ValueObjectRegisterSet(), and lldb_private::ValueObjectVariable::ValueObjectVariable().
|
protected |
Cached result of the "object printer".
This differs from the summary in that the summary is consed up by us, the object_desc_string is builtin.
Definition at line 866 of file ValueObject.h.
Referenced by ClearUserVisibleData(), and GetObjectDescription().
|
protected |
Cached old value string from the last time the value was gotten.
Definition at line 859 of file ValueObject.h.
Referenced by GetValueAsCString(), and UpdateValueIfNeeded().
|
protected |
If the type of the value object should be overridden, the type to impose.
Definition at line 868 of file ValueObject.h.
Referenced by ClearDynamicTypeInformation(), and MaybeCalculateCompleteType().
|
protected |
The parent value object, or nullptr if this has no parent.
Definition at line 840 of file ValueObject.h.
Referenced by lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectRecognizerSynthesizedValue::CalculateNumChildren(), lldb_private::ValueObjectSynthetic::CanProvideValue(), lldb_private::ValueObjectChild::CanUpdateWithInvalidExecutionContext(), lldb_private::ValueObjectSynthetic::CreateSynthFilter(), FollowParentChain(), lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectSynthetic::GetByteSize(), lldb_private::ValueObjectRecognizerSynthesizedValue::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), lldb_private::ValueObjectSynthetic::GetCompilerTypeImpl(), lldb_private::ValueObjectRecognizerSynthesizedValue::GetCompilerTypeImpl(), lldb_private::ValueObjectDynamicValue::GetDeclaration(), lldb_private::ValueObjectSynthetic::GetDeclaration(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ValueObjectSynthetic::GetDisplayTypeName(), lldb_private::ValueObjectSynthetic::GetDynamicValue(), GetDynamicValueType(), lldb_private::ValueObjectSynthetic::GetDynamicValueType(), GetFormat(), lldb_private::ValueObjectDynamicValue::GetLanguageFlags(), lldb_private::ValueObjectSynthetic::GetLanguageFlags(), lldb_private::ValueObjectSynthetic::GetNonSyntheticValue(), GetParent(), lldb_private::ValueObjectCast::GetParent(), lldb_private::ValueObjectDynamicValue::GetParent(), lldb_private::ValueObjectSynthetic::GetParent(), lldb_private::ValueObjectDynamicValue::GetPreferredDisplayLanguage(), lldb_private::ValueObjectSynthetic::GetPreferredDisplayLanguage(), lldb_private::ValueObjectDynamicValue::GetQualifiedTypeName(), lldb_private::ValueObjectSynthetic::GetQualifiedTypeName(), GetRoot(), lldb_private::ValueObjectDynamicValue::GetStaticValue(), lldb_private::ValueObjectSynthetic::GetStaticValue(), GetSymbolContextScope(), lldb_private::ValueObjectDynamicValue::GetTypeImpl(), lldb_private::ValueObjectDynamicValue::GetTypeName(), lldb_private::ValueObjectSynthetic::GetTypeName(), lldb_private::ValueObjectCast::GetValueType(), lldb_private::ValueObjectChild::GetValueType(), lldb_private::ValueObjectDynamicValue::GetValueType(), lldb_private::ValueObjectSynthetic::GetValueType(), lldb_private::ValueObjectDynamicValue::GetVariable(), lldb_private::ValueObjectDynamicValue::IsBaseClass(), lldb_private::ValueObjectSynthetic::IsDynamic(), lldb_private::ValueObjectCast::IsInScope(), lldb_private::ValueObjectDynamicValue::IsInScope(), lldb_private::ValueObjectSynthetic::IsInScope(), lldb_private::ValueObjectDynamicValue::IsSyntheticChildrenGenerated(), lldb_private::ValueObjectSynthetic::IsSyntheticChildrenGenerated(), lldb_private::ValueObjectDynamicValue::SetData(), lldb_private::ValueObjectSynthetic::SetFormat(), lldb_private::ValueObjectDynamicValue::SetLanguageFlags(), lldb_private::ValueObjectSynthetic::SetLanguageFlags(), lldb_private::ValueObjectDynamicValue::SetPreferredDisplayLanguage(), lldb_private::ValueObjectSynthetic::SetPreferredDisplayLanguage(), lldb_private::ValueObjectDynamicValue::SetSyntheticChildrenGenerated(), lldb_private::ValueObjectSynthetic::SetSyntheticChildrenGenerated(), lldb_private::ValueObjectDynamicValue::SetValueFromCString(), lldb_private::ValueObjectSynthetic::SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectRecognizerSynthesizedValue::UpdateValue(), and lldb_private::ValueObjectSynthetic::ValueObjectSynthetic().
|
protected |
Definition at line 900 of file ValueObject.h.
Referenced by GetPreferredDisplayLanguage(), lldb_private::ValueObjectConstResult::GetPreferredDisplayLanguage(), lldb_private::ValueObjectDynamicValue::GetPreferredDisplayLanguage(), lldb_private::ValueObjectSynthetic::GetPreferredDisplayLanguage(), SetPreferredDisplayLanguage(), and SetPreferredDisplayLanguageIfNeeded().
|
protected |
The root of the hierarchy for this ValueObject (or nullptr if never calculated).
Definition at line 843 of file ValueObject.h.
Referenced by GetRoot().
|
protected |
Cached summary string that will get cleared if/when the value is updated.
Definition at line 863 of file ValueObject.h.
Referenced by ClearUserVisibleData(), and GetSummaryAsCString().
|
protected |
Definition at line 879 of file ValueObject.h.
Referenced by AddSyntheticChild(), and GetSyntheticChild().
|
protected |
Definition at line 894 of file ValueObject.h.
Referenced by CalculateSyntheticValue(), GetSyntheticChildren(), HasSyntheticValue(), and SetSyntheticChildren().
|
protected |
Definition at line 882 of file ValueObject.h.
Referenced by CalculateSyntheticValue(), ClearUserVisibleData(), GetSummaryAsCString(), GetSyntheticValue(), and HasSyntheticValue().
|
protected |
Definition at line 893 of file ValueObject.h.
Referenced by GetValueAsCString(), GetValueFormat(), and SetValueFormat().
|
protected |
Definition at line 892 of file ValueObject.h.
Referenced by GetSummaryFormat(), and SetSummaryFormat().
|
protected |
Stores both the stop id and the full context at which this value was last updated.
When we are asked to update the value object, we check whether the context & stop id are the same before updating.
Definition at line 847 of file ValueObject.h.
Referenced by GetExecutionContextRef(), GetFrameSP(), GetIsConstant(), GetProcessSP(), GetTargetSP(), GetThreadSP(), GetUpdatePoint(), NeedsUpdating(), SetIsConstant(), SetNeedsUpdate(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), and UpdateValueIfNeeded().
|
protected |
Definition at line 895 of file ValueObject.h.
|
protected |
Definition at line 852 of file ValueObject.h.
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), GetAddressOf(), lldb_private::ValueObjectCast::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectConstResult::GetCompilerTypeImpl(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), GetData(), GetExpressionPath(), GetLocationAsCString(), GetPointeeData(), GetPointerValue(), GetValue(), GetValueAsCString(), ResolveValue(), SetData(), SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectRecognizerSynthesizedValue::UpdateValue(), lldb_private::ValueObjectCast::ValueObjectCast(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectMemory::ValueObjectMemory().
|
protected |
Definition at line 898 of file ValueObject.h.
Referenced by IsChecksumEmpty(), and UpdateValueIfNeeded().
|
protected |
Cached value string that will get cleared if/when the value is updated.
Definition at line 857 of file ValueObject.h.
Referenced by ClearUserVisibleData(), GetValueAsCString(), and UpdateValueIfNeeded().