|
LLDB mainline
|
#include <ValueObject.h>
Classes | |
| struct | AddrAndType |
| 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 llvm::Expected< uint64_t > | GetByteSize ()=0 |
| virtual lldb::ValueType | GetValueType () const =0 |
| virtual ConstString | GetTypeName () |
| virtual ConstString | GetDisplayTypeName () |
| virtual ConstString | GetQualifiedTypeName () |
| lldb::LanguageType | GetObjectRuntimeLanguage () |
| uint32_t | GetTypeInfo (CompilerType *pointee_or_element_compiler_type=nullptr) |
| bool | IsPointerType () |
| bool | IsArrayType () |
| bool | IsScalarType () |
| bool | IsPointerOrReferenceType () |
| bool | IsPossibleDynamicType () |
| bool | IsNilReference () |
| bool | IsUninitializedReference () |
| virtual bool | IsBaseClass () |
| 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 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) |
| llvm::Expected< llvm::APSInt > | GetValueAsAPSInt () |
| If the current ValueObject is of an appropriate type, convert the value to an APSInt and return that. | |
| llvm::Expected< llvm::APFloat > | GetValueAsAPFloat () |
| If the current ValueObject is of an appropriate type, convert the value to an APFloat and return that. | |
| llvm::Expected< bool > | GetValueAsBool () |
| If the current ValueObject is of an appropriate type, convert the value to a boolean and return that. | |
| llvm::Error | SetValueFromInteger (const llvm::APInt &value, bool can_update_var=true) |
| Update an existing integer ValueObject with a new integer value. | |
| llvm::Error | SetValueFromInteger (lldb::ValueObjectSP new_val_sp, bool can_update_var=true) |
| Update an existing integer ValueObject with an integer value created frome 'new_val_sp'. | |
| 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 (uint32_t idx, bool can_create=true) |
| lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< llvm::StringRef > names) |
| virtual lldb::ValueObjectSP | GetChildMemberWithName (llvm::StringRef name, bool can_create=true) |
| virtual llvm::Expected< size_t > | GetIndexOfChildWithName (llvm::StringRef name) |
| llvm::Expected< uint32_t > | GetNumChildren (uint32_t max=UINT32_MAX) |
| uint32_t | GetNumChildrenIgnoringErrors (uint32_t max=UINT32_MAX) |
Like GetNumChildren but returns 0 on error. | |
| bool | HasChildren () |
| 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) |
| llvm::Expected< std::string > | 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 (llvm::StringRef name) |
| Change the name of the current ValueObject. | |
| virtual AddrAndType | GetAddressOf (bool scalar_is_load_address=true) |
| std::optional< lldb::addr_t > | GetStrippedPointerValue (lldb::addr_t address) |
| Remove ptrauth bits from address if the type has a ptrauth qualifier. | |
| AddrAndType | GetPointerValue () |
| 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 (llvm::StringRef 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) |
| lldb::ValueObjectSP | Cast (const CompilerType &compiler_type) |
| virtual lldb::ValueObjectSP | DoCast (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) |
| lldb::addr_t | GetLoadAddress () |
| Return the target load address associated with this value object. | |
| llvm::Expected< lldb::ValueObjectSP > | CastDerivedToBaseType (CompilerType type, const llvm::ArrayRef< uint32_t > &base_type_indices) |
| Take a ValueObject whose type is an inherited class, and cast it to 'type', which should be one of its base classes. | |
| llvm::Expected< lldb::ValueObjectSP > | CastBaseToDerivedType (CompilerType type, uint64_t offset) |
| Take a ValueObject whose type is a base class, and cast it to 'type', which should be one of its derived classes. | |
| lldb::ValueObjectSP | CastToBasicType (CompilerType type) |
| lldb::ValueObjectSP | CastToEnumType (CompilerType type) |
| lldb::ValueObjectSP | GetVTable () |
| If this object represents a C++ class with a vtable, return an object that represents the virtual function table. | |
| void | ValueUpdated () |
| virtual bool | IsDynamic () |
| virtual bool | DoesProvideSyntheticValue () |
| virtual bool | IsSyntheticChildrenGenerated () |
| virtual void | SetSyntheticChildrenGenerated (bool b) |
| virtual SymbolContextScope * | GetSymbolContextScope () |
| llvm::Error | Dump (Stream &s) |
| llvm::Error | Dump (Stream &s, const DumpValueObjectOptions &options) |
| lldb::ValueObjectSP | CreateChildValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options) |
| These are the appropriate routines to make a ValueObject that get managed by this ValueObject (and all the other members of its Cluster). | |
| lldb::ValueObjectSP | CreateChildValueObjectFromAddress (llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type, bool do_deref=true) |
| Given an address either create a value object containing the value at that address, or create a value object containing the address itself (pointer value), depending on whether the parameter 'do_deref' is true or false. | |
| lldb::ValueObjectSP | CreateChildValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type) |
| lldb::ValueObjectSP | CreateChildValueObjectFromAPInt (const ExecutionContext &exe_ctx, const llvm::APInt &v, CompilerType type, llvm::StringRef name) |
| Create a value object containing the given APInt value. | |
| lldb::ValueObjectSP | CreateChildValueObjectFromAPFloat (const ExecutionContext &exe_ctx, const llvm::APFloat &v, CompilerType type, llvm::StringRef name) |
| Create a value object containing the given APFloat value. | |
| lldb::ValueObjectSP | CreateChildValueObjectFromScalar (const ExecutionContext &exe_ctx, Scalar &s, CompilerType type, llvm::StringRef name) |
| Create a value object containing the given Scalar value. | |
| lldb::ValueObjectSP | CreateChildValueObjectFromBool (const ExecutionContext &exe_ctx, lldb::TypeSystemSP typesystem, bool value, llvm::StringRef name) |
| Create a value object containing the given boolean value. | |
| lldb::ValueObjectSP | CreateChildValueObjectFromNullptr (const ExecutionContext &exe_ctx, CompilerType type, llvm::StringRef name) |
| Create a nullptr value object with the specified type (must be a nullptr type). | |
| 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, bool honor_array) |
| 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 |
| virtual bool | CanSetValue () |
| Returns false when this value cannot be modified through SetValueFromCString() or SetData() because it exists in the target but has no writable storage, e.g., a constant or a computed variable value. | |
| 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 | SetDerefValobj (ValueObject *deref) |
| ValueObject * | GetDerefValobj () |
| 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 |
| void | SetLogicalParent (ValueObject *parent) |
| 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) |
| llvm::ArrayRef< uint8_t > | GetLocalBuffer () const |
| Returns the local buffer that this ValueObject points to if it's available. | |
| lldb::ValueObjectSP | CheckValueObjectOwnership (ValueObject *child) |
Static Public Member Functions | |
| static lldb::ValueObjectSP | CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx, ValueObject *parent=nullptr) |
| The following static routines create "Root" ValueObjects if parent is null. | |
| static lldb::ValueObjectSP | CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options, ValueObject *parent=nullptr) |
| static lldb::ValueObjectSP | CreateValueObjectFromAddress (llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type, bool do_deref=true, ValueObject *parent=nullptr) |
| Given an address either create a value object containing the value at that address, or create a value object containing the address itself (pointer value), depending on whether the parameter 'do_deref' is true or false. | |
| static lldb::ValueObjectSP | CreateValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type, ValueObject *parent=nullptr) |
| static lldb::ValueObjectSP | CreateValueObjectFromAPInt (const ExecutionContext &exe_ctx, const llvm::APInt &v, CompilerType type, llvm::StringRef name, ValueObject *parent=nullptr) |
| Create a value object containing the given APInt value. | |
| static lldb::ValueObjectSP | CreateValueObjectFromAPFloat (const ExecutionContext &exe_ctx, const llvm::APFloat &v, CompilerType type, llvm::StringRef name, ValueObject *parent=nullptr) |
| Create a value object containing the given APFloat value. | |
| static lldb::ValueObjectSP | CreateValueObjectFromScalar (const ExecutionContext &exe_ctx, Scalar &s, CompilerType type, llvm::StringRef name, ValueObject *parent=nullptr) |
| Create a value object containing the given Scalar value. | |
| static lldb::ValueObjectSP | CreateValueObjectFromBool (const ExecutionContext &exe_ctx, lldb::TypeSystemSP typesystem, bool value, llvm::StringRef name, ValueObject *parent=nullptr) |
| Create a value object containing the given boolean value. | |
| static lldb::ValueObjectSP | CreateValueObjectFromNullptr (const ExecutionContext &exe_ctx, CompilerType type, llvm::StringRef name, ValueObject *parent=nullptr) |
| Create a nullptr value object with the specified type (must be a nullptr type). | |
Protected Types | |
| typedef ClusterManager< ValueObject > | ValueObjectManager |
| using | ValueObjectManagerSP = std::shared_ptr<ValueObjectManager> |
Static Protected Member Functions | |
| static ValueObjectManagerSP | ReuseManagerIfParent (ValueObject *parent) |
| The following two functions are helpers for Create methods for ValueObject subclasses that need to optionally receive a parent or external manager. | |
| static ValueObjectManagerSP | CreateManagerIfEmpty (ValueObjectManager *&manager) |
| If manager is null, makes a new ValueObjectManager and sets manager to the new ValueObjectManager. | |
Protected Attributes | |
| ValueObject * | m_parent = nullptr |
| The parent value object, or nullptr if this has no parent. | |
| ValueObject * | m_logical_parent = nullptr |
| The parent to report from GetParent() when m_parent does not reflect the "display" (i.e logical) parent. | |
| ValueObject * | m_root = nullptr |
| The root of the hierarchy for this ValueObject (or nullptr if never calculated). | |
| EvaluationPoint | m_update_point |
| Stores both the stop id and the full context at which this value was last updated. | |
| ConstString | m_name |
| The name of this object. | |
| DataExtractor | m_data |
| A data extractor that can be used to extract the value. | |
| Value | m_value |
| Status | m_error |
| An error object that can describe any errors that occur when updating values. | |
| std::string | m_value_str |
| Cached value string that will get cleared if/when the value is updated. | |
| std::string | m_old_value_str |
| Cached old value string from the last time the value was gotten. | |
| std::string | m_location_str |
| Cached location string that will get cleared if/when the value is updated. | |
| std::string | m_summary_str |
| Cached summary string that will get cleared if/when the value is updated. | |
| std::string | m_object_desc_str |
| Cached result of the "object printer". | |
| CompilerType | m_override_type |
| If the type of the value object should be overridden, the type to impose. | |
| ValueObjectManager * | m_manager = nullptr |
| This object is managed by the root object (any ValueObject that gets created without a parent.) The manager gets passed through all the generations of dependent objects, and will keep the whole cluster of objects alive as long as a shared pointer to any of them has been handed out. | |
| ChildrenManager | m_children |
| std::map< ConstString, ValueObject * > | m_synthetic_children |
| ValueObject * | m_dynamic_value = nullptr |
| ValueObject * | m_synthetic_value = nullptr |
| ValueObject * | m_deref_valobj = nullptr |
| lldb::ValueObjectSP | m_addr_of_valobj_sp |
| We have to hold onto a shared pointer to this one because it is created as an independent ValueObjectConstResult, which isn't managed by us. | |
| lldb::Format | m_format = lldb::eFormatDefault |
| lldb::Format | m_last_format = lldb::eFormatDefault |
| uint32_t | m_last_format_mgr_revision = 0 |
| lldb::TypeSummaryImplSP | m_type_summary_sp |
| lldb::TypeFormatImplSP | m_type_format_sp |
| lldb::SyntheticChildrenSP | m_synthetic_children_sp |
| ProcessModID | m_user_id_of_forced_summary |
| AddressType | m_address_type_of_ptr_or_ref_children = eAddressTypeInvalid |
| llvm::SmallVector< uint8_t, 16 > | m_value_checksum |
| lldb::LanguageType | m_preferred_display_language = lldb::eLanguageTypeUnknown |
| uint64_t | m_language_flags = 0 |
| UserID | m_id |
| Unique identifier for every value object. | |
| struct lldb_private::ValueObject::Bitflags | m_flags |
Private Member Functions | |
| void | 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 986 of file ValueObject.h.
|
protected |
Definition at line 1029 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 544 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 101 of file ValueObject.cpp.
References lldb_private::ExecutionContextScope::CalculateTarget(), g_value_obj_uid, lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::ArchSpec::GetByteOrder(), m_address_type_of_ptr_or_ref_children, m_data, m_id, m_manager, and m_update_point.
Referenced by AddSyntheticChild(), CheckValueObjectOwnership(), lldb_private::ValueObjectCast::Create(), lldb_private::ValueObjectMemory::Create(), lldb_private::ValueObjectMemory::Create(), lldb_private::ValueObjectRecognizerSynthesizedValue::Create(), lldb_private::ValueObjectVTable::Create(), CreateChildAtIndex(), lldb_private::ValueObjectConstResult::CreateChildAtIndex(), lldb_private::ValueObjectRegisterSet::CreateChildAtIndex(), lldb_private::ValueObjectVTable::CreateChildAtIndex(), CreateSyntheticArrayMember(), lldb_private::ValueObjectConstResult::CreateSyntheticArrayMember(), lldb_private::ValueObjectRegisterSet::CreateSyntheticArrayMember(), lldb_private::ValueObjectVTable::CreateSyntheticArrayMember(), CreateValueObjectFromAddress(), CreateValueObjectFromAPFloat(), CreateValueObjectFromAPInt(), CreateValueObjectFromBool(), CreateValueObjectFromData(), CreateValueObjectFromExpression(), CreateValueObjectFromExpression(), CreateValueObjectFromNullptr(), CreateValueObjectFromScalar(), DoUpdateChildrenAddressType(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), FollowParentChain(), GetAddressTypeOfChildren(), lldb_private::ValueObject::ChildrenManager::GetChildAtIndex(), GetChildAtIndex(), lldb_private::ValueObjectRegisterSet::GetChildMemberWithName(), GetDerefValobj(), GetDynamicValueType(), GetExpressionPath(), GetFormat(), GetModule(), GetNonBaseClassParent(), GetParent(), GetParent(), lldb_private::ValueObjectCast::GetParent(), lldb_private::ValueObjectCast::GetParent(), GetRoot(), GetSyntheticArrayMember(), GetValueForExpressionPath_Impl(), ValueObjectVTableChild::IsInScope(), operator=(), ReuseManagerIfParent(), lldb_private::ValueObject::ChildrenManager::SetChildAtIndex(), SetDerefValobj(), SetLogicalParent(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), ValueObject(), ValueObject(), lldb_private::ValueObjectCast::ValueObjectCast(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectRecognizerSynthesizedValue::ValueObjectRecognizerSynthesizedValue(), lldb_private::ValueObjectRegister::ValueObjectRegister(), lldb_private::ValueObjectRegister::ValueObjectRegister(), lldb_private::ValueObjectRegisterSet::ValueObjectRegisterContext, lldb_private::ValueObjectRegister::ValueObjectRegisterSet, lldb_private::ValueObjectRegisterSet::ValueObjectRegisterSet(), ValueObjectSynthetic, lldb_private::ValueObjectVariable::ValueObjectVariable(), lldb_private::ValueObjectVTable::ValueObjectVTable(), ValueObjectVTableChild::ValueObjectVTableChild(), lldb_private::ValueObjectCast::~ValueObjectCast(), lldb_private::ValueObjectMemory::~ValueObjectMemory(), and lldb_private::ValueObjectVTable::~ValueObjectVTable().
|
protected |
Use this constructor to create a ValueObject owned by another ValueObject.
It will inherit the ExecutionContext of its parent.
Definition at line 90 of file ValueObject.cpp.
References g_value_obj_uid, lldb_private::DataExtractor::GetAddressByteSize(), lldb_private::DataExtractor::GetByteOrder(), GetDataExtractor(), GetManager(), GetUpdatePoint(), m_data, m_flags, m_id, lldb_private::ValueObject::Bitflags::m_is_synthetic_children_generated, m_manager, m_parent, m_update_point, and ValueObject().
|
privatedelete |
References ValueObject().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2904 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeFile, lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, lldb_private::eAddressTypeLoad, error(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::ExecutionContext::GetAddressByteSize(), GetAddressOf(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetCompilerType(), lldb_private::StreamString::GetData(), GetExecutionContextRef(), GetExpressionPath(), lldb_private::CompilerType::GetPointerType(), lldb_private::endian::InlHostByteOrder(), LLDB_INVALID_ADDRESS, m_addr_of_valobj_sp, and m_name.
|
protected |
Definition at line 1803 of file ValueObject.cpp.
References m_synthetic_children, and ValueObject().
Referenced by GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), and GetSyntheticExpressionPathChild().
|
protectedvirtual |
Definition at line 2071 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::ValueObjectRecognizerSynthesizedValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
References UINT32_MAX.
Referenced by GetNumChildren().
|
protectedvirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 2050 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 3760 of file ValueObject.cpp.
References GetCompilerType(), lldb_private::CompilerType::GetTypeInfo(), and lldb_private::CompilerType::IsValid().
Referenced by DumpPrintableRepresentation(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::TypeFormatImpl_Format::FormatObject(), GetExpressionPath(), GetValueAsAPFloat(), GetValueAsAPSInt(), GetValueAsSigned(), GetValueAsUnsigned(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), and UpdateValueIfNeeded().
|
inlinevirtual |
Returns false when this value cannot be modified through SetValueFromCString() or SetData() because it exists in the target but has no writable storage, e.g., a constant or a computed variable value.
A true result does not guarantee a write will succeed; other runtime conditions can still cause SetValue* to fail.
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 860 of file ValueObject.h.
References GetIsConstant().
Referenced by lldb_private::ValueObjectVariable::CanSetValue().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 1175 of file ValueObject.h.
References lldb_private::eLazyBoolCalculate.
Referenced by lldb_private::ValueObjectChild::CanUpdateWithInvalidExecutionContext(), and NeedsUpdating().
| ValueObjectSP ValueObject::Cast | ( | const CompilerType & | compiler_type | ) |
Definition at line 2953 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), DoCast(), error(), lldb_private::Status::FromErrorString(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetByteSize(), GetCompilerType(), GetExecutionContextRef(), lldb_private::Value::LoadAddress, and m_value.
Referenced by lldb_private::formatters::GetDesugaredSmartPointerValue().
| llvm::Expected< lldb::ValueObjectSP > ValueObject::CastBaseToDerivedType | ( | CompilerType | type, |
| uint64_t | offset ) |
Take a ValueObject whose type is a base class, and cast it to 'type', which should be one of its derived classes.
'base_type_indices' contains the indices of direct base classes on the path from the ValueObject's current type to 'type'
Definition at line 3106 of file ValueObject.cpp.
References CreateValueObjectFromAddress(), error(), GetCompilerType(), GetLoadAddress(), lldb_private::CompilerType::GetNonReferenceType(), lldb_private::CompilerType::GetPointeeType(), lldb_private::CompilerType::GetPointerType(), GetTargetSP(), GetValueAsUnsigned(), lldb_private::CompilerType::IsPointerType(), lldb_private::CompilerType::IsReferenceType(), lldb_private::CompilerType::IsValid(), and lldb_private::CompilerType::TypeDescription().
| llvm::Expected< lldb::ValueObjectSP > ValueObject::CastDerivedToBaseType | ( | CompilerType | type, |
| const llvm::ArrayRef< uint32_t > & | base_type_indices ) |
Take a ValueObject whose type is an inherited class, and cast it to 'type', which should be one of its base classes.
'base_type_indices' contains the indices of direct base classes on the path from the ValueObject's current type to 'type'
Definition at line 3041 of file ValueObject.cpp.
References lldb_private::CompilerType::CompareTypes(), CreateValueObjectFromAddress(), GetCompilerType(), lldb_private::CompilerType::GetNonReferenceType(), lldb_private::CompilerType::GetPointeeType(), GetSP(), GetTargetSP(), lldb_private::CompilerType::IsPointerType(), and lldb_private::CompilerType::IsReferenceType().
|
virtual |
|
virtual |
| lldb::ValueObjectSP ValueObject::CastToBasicType | ( | CompilerType | type | ) |
Definition at line 3166 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::Scalar::CreateAPFloatFromAPFloat(), lldb_private::Scalar::CreateAPFloatFromAPSInt(), CreateValueObjectFromAPFloat(), CreateValueObjectFromAPInt(), CreateValueObjectFromBool(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::CompilerType::GetBasicTypeEnumeration(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetByteSize(), GetCompilerType(), GetExecutionContextRef(), lldb_private::CompilerType::TypeSystemSPWrapper::GetSharedPointer(), GetTargetSP(), lldb_private::CompilerType::GetTypeSystem(), GetValueAsAPFloat(), GetValueAsAPSInt(), GetValueAsUnsigned(), HasFloatingRepresentation(), integer, lldb_private::CompilerType::IsBoolean(), lldb_private::CompilerType::IsEnumerationType(), lldb_private::CompilerType::IsInteger(), lldb_private::CompilerType::IsNullPtrType(), lldb_private::CompilerType::IsPointerType(), lldb_private::CompilerType::IsScalarType(), and lldb_private::CompilerType::IsSigned().
| lldb::ValueObjectSP ValueObject::CastToEnumType | ( | CompilerType | type | ) |
Definition at line 3324 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), CreateValueObjectFromAPInt(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), lldb_private::Status::FromErrorStringWithFormatv(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::CompilerType::GetByteSize(), GetCompilerType(), GetExecutionContextRef(), GetTargetSP(), GetValueAsAPFloat(), GetValueAsAPSInt(), HasFloatingRepresentation(), integer, lldb_private::CompilerType::IsEnumerationIntegerTypeSigned(), lldb_private::CompilerType::IsEnumerationType(), and lldb_private::CompilerType::IsInteger().
| ValueObjectSP ValueObject::CheckValueObjectOwnership | ( | ValueObject * | child | ) |
Definition at line 381 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), error(), lldb_private::Status::FromErrorStringWithFormatv(), lldb_private::TargetProperties::GetCheckValueObjectOwnership(), GetManager(), GetName(), GetTargetSP(), Target, and ValueObject().
Referenced by lldb_private::ValueObjectSynthetic::GetChildAtIndex().
|
protected |
Definition at line 244 of file ValueObject.cpp.
References 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 3515 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 2989 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, lldb_private::ValueObjectRegisterSet, and lldb_private::ValueObjectVTable.
Definition at line 516 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), GetCompilerType(), GetExecutionContextRef(), lldb_private::GetLog(), LLDB_LOG_ERROR, lldb_private::Types, ValueObject(), and ValueObjectChild.
Referenced by GetChildAtIndex().
|
inline |
Given an address either create a value object containing the value at that address, or create a value object containing the address itself (pointer value), depending on whether the parameter 'do_deref' is true or false.
Definition at line 780 of file ValueObject.h.
References CreateValueObjectFromAddress().
Referenced by lldb_private::formatters::NSAttributedStringSummaryProvider().
|
inline |
Create a value object containing the given APFloat value.
Definition at line 804 of file ValueObject.h.
References CreateValueObjectFromAPFloat().
|
inline |
Create a value object containing the given APInt value.
Definition at line 796 of file ValueObject.h.
References CreateValueObjectFromAPInt().
|
inline |
Create a value object containing the given boolean value.
Definition at line 820 of file ValueObject.h.
References CreateValueObjectFromBool().
|
inline |
Definition at line 787 of file ValueObject.h.
References CreateValueObjectFromData().
Referenced by ExtractFields().
|
inline |
These are the appropriate routines to make a ValueObject that get managed by this ValueObject (and all the other members of its Cluster).
Definition at line 767 of file ValueObject.h.
References CreateValueObjectFromExpression().
|
inline |
Create a nullptr value object with the specified type (must be a nullptr type).
Definition at line 830 of file ValueObject.h.
References CreateValueObjectFromNullptr().
|
inline |
Create a value object containing the given Scalar value.
Definition at line 813 of file ValueObject.h.
References CreateValueObjectFromScalar().
Referenced by NSIndexPathSyntheticFrontEnd::Impl::InlinedIndexes::GetIndexAtIndex().
|
virtual |
Definition at line 2764 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), GetAddressOf(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetCompilerType(), GetExecutionContextRef(), GetModule(), lldb_private::Value::GetValueAsData(), GetValueAsUnsigned(), IsBitfield(), m_data, m_error, m_value, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::DataExtractor::SetByteOrder(), UINT64_MAX, and UpdateValueIfNeeded().
|
inlinestaticprotected |
If manager is null, makes a new ValueObjectManager and sets manager to the new ValueObjectManager.
It also returns the shared pointer which is necessary to keep the new manager alive.
Definition at line 1049 of file ValueObject.h.
References lldb_private::ClusterManager< ValueObject >::Create().
Referenced by lldb_private::ValueObjectConstResult::Create(), lldb_private::ValueObjectConstResult::Create(), lldb_private::ValueObjectConstResult::Create(), lldb_private::ValueObjectConstResult::Create(), lldb_private::ValueObjectConstResult::Create(), lldb_private::ValueObjectConstResult::Create(), and lldb_private::ValueObjectConstResult::Create().
|
protectedvirtual |
Should only be called by ValueObject::GetSyntheticArrayMember().
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, lldb_private::ValueObjectConstResultChild, lldb_private::ValueObjectRegisterSet, and lldb_private::ValueObjectVTable.
Definition at line 551 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, lldb_private::CompilerType::GetChildCompilerTypeAtIndex(), GetCompilerType(), GetExecutionContextRef(), lldb_private::GetLog(), GetSyntheticValue(), LLDB_LOG_ERROR, lldb_private::Types, ValueObject(), and ValueObjectChild.
Referenced by GetSyntheticArrayMember().
|
static |
Given an address either create a value object containing the value at that address, or create a value object containing the address itself (pointer value), depending on whether the parameter 'do_deref' is true or false.
Definition at line 3575 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ExecutionContext::GetByteOrder(), GetManager(), lldb_private::CompilerType::GetPointerType(), LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, and ValueObject().
Referenced by lldb_private::dil::ArrayToPointerConversion(), CastBaseToDerivedType(), CastDerivedToBaseType(), CreateChildValueObjectFromAddress(), lldb::SBTarget::CreateValueFromAddress(), lldb_private::formatters::ObjCSELSummaryProvider(), and lldb_private::dil::Interpreter::Visit().
|
static |
Create a value object containing the given APFloat value.
Definition at line 3633 of file ValueObject.cpp.
References CreateValueObjectFromAPInt(), and ValueObject().
Referenced by CastToBasicType(), and CreateChildValueObjectFromAPFloat().
|
static |
Create a value object containing the given APInt value.
Definition at line 3619 of file ValueObject.cpp.
References CreateValueObjectFromData(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ExecutionContext::GetByteOrder(), lldb_private::CompilerType::GetByteSize(), and ValueObject().
Referenced by CastToBasicType(), CastToEnumType(), CreateChildValueObjectFromAPInt(), and CreateValueObjectFromAPFloat().
|
static |
Create a value object containing the given boolean value.
Definition at line 3648 of file ValueObject.cpp.
References CreateValueObjectFromData(), lldb::eBasicTypeBool, lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ExecutionContext::GetByteOrder(), lldb_private::CompilerType::GetByteSize(), and ValueObject().
Referenced by CastToBasicType(), CreateChildValueObjectFromBool(), and lldb_private::dil::Interpreter::Visit().
|
static |
Definition at line 3606 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::eAddressTypeLoad, lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetManager(), LLDB_INVALID_ADDRESS, and ValueObject().
Referenced by CreateChildValueObjectFromData(), lldb::SBTarget::CreateValueFromData(), CreateValueObjectFromAPInt(), CreateValueObjectFromBool(), CreateValueObjectFromNullptr(), ExtractFields(), lldb_private::ItaniumABIRuntime::GetExceptionObjectForThread(), lldb::SBType::GetTemplateArgumentValue(), lldb_private::formatters::NSError_SummaryProvider(), and lldb_private::formatters::ObjCSELSummaryProvider().
|
static |
Definition at line 3554 of file ValueObject.cpp.
References lldb_private::ExecutionContext::GetFrameSP(), lldb_private::ExecutionContext::GetTargetSP(), and ValueObject().
|
static |
The following static routines create "Root" ValueObjects if parent is null.
If it is a valid ValueObject, the new ValueObject is managed by the ValueObjectManager of the parent object. The only code that should explicitly pass in a parent is that implementing the CreateChildValueObjectFrom and the ValueObjectSynthetic. If you are creating a ValueObject in a Synthetic Child Provider, you should instead use the method CreateChildValueObjectFrom***. That is more straightforward and will ensure the right parent is used.
Definition at line 3547 of file ValueObject.cpp.
References CreateValueObjectFromExpression(), and ValueObject().
Referenced by CreateChildValueObjectFromExpression(), lldb::SBTarget::CreateValueFromExpression(), and CreateValueObjectFromExpression().
|
static |
Create a nullptr value object with the specified type (must be a nullptr type).
Definition at line 3662 of file ValueObject.cpp.
References CreateValueObjectFromData(), lldb_private::ExecutionContext::GetAddressByteSize(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), lldb_private::ExecutionContext::GetByteOrder(), lldb_private::CompilerType::GetByteSize(), lldb_private::CompilerType::IsNullPtrType(), and ValueObject().
Referenced by CreateChildValueObjectFromNullptr().
|
static |
Create a value object containing the given Scalar value.
Definition at line 3640 of file ValueObject.cpp.
References lldb_private::ValueObjectConstResult::Create(), lldb_private::ExecutionContext::GetBestExecutionContextScope(), GetManager(), and ValueObject().
Referenced by CreateChildValueObjectFromScalar(), lldb_private::dil::Interpreter::EvaluateBinarySubtraction(), lldb_private::dil::Interpreter::EvaluateScalarOp(), lldb_private::dil::LookupEnumValue(), lldb_private::dil::Interpreter::PointerOffset(), lldb_private::dil::Interpreter::UnaryConversion(), lldb_private::dil::Interpreter::Visit(), lldb_private::dil::Interpreter::Visit(), and lldb_private::dil::Interpreter::Visit().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2824 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, error(), lldb_private::Status::FromErrorStringWithFormat(), GetChildMemberWithName(), GetCompilerType(), lldb_private::StreamString::GetData(), lldb_private::CompilerType::GetDereferencedType(), GetExecutionContextRef(), GetExpressionPath(), lldb_private::GetLog(), lldb_private::CompilerType::GetPointeeType(), GetPreferredDisplayLanguage(), GetTypeName(), HasSyntheticValue(), IsSynthetic(), lldb_private::Language::LanguageIsObjC(), LLDB_LOG, m_deref_valobj, lldb_private::ConstString::SetCString(), lldb_private::Types, and ValueObjectChild.
Referenced by DereferenceValueOrAlternate(), lldb_private::formatters::DumpCxxSmartPtrPointerSummary(), lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::UserExpression::Evaluate(), GetPointeeData(), and lldb_private::formatters::ObjCBOOLSummaryProvider().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 2949 of file ValueObject.cpp.
References lldb_private::ValueObjectCast::Create(), and GetName().
Referenced by Cast().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 690 of file ValueObject.h.
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 1232 of file ValueObject.h.
References ValueObject().
Referenced by UpdateChildrenAddressType().
| llvm::Error ValueObject::Dump | ( | Stream & | s | ) |
| llvm::Error ValueObject::Dump | ( | Stream & | s, |
| const DumpValueObjectOptions & | options ) |
Definition at line 2758 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 1365 of file ValueObject.cpp.
References lldb_private::Flags::AnySet(), 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::eFormatFloat128, 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::Stream::Format(), GetChildAtIndex(), GetCompilerType(), GetExpressionPath(), GetLocationAsCString(), GetName(), GetNumChildren(), GetNumChildrenIgnoringErrors(), GetObjectDescription(), lldb_private::FormatManager::GetSingleItemFormat(), lldb_private::StreamString::GetString(), lldb_private::ConstString::GetStringRef(), GetSummaryAsCString(), GetTypeInfo(), GetTypeName(), GetValueAsCString(), lldb_private::formatters::StringPrinter::Ignore, IsCStringContainer(), m_error, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream(), ReadPointedString(), SetFormat(), lldb_private::Flags::Test(), lldb_private::toString(), and lldb_private::formatters::StringPrinter::ZeroTerminate.
Referenced by lldb_private::FormatEntity::Formatter::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 3697 of file ValueObject.cpp.
References m_parent, and ValueObject().
Referenced by GetRoot().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, and lldb_private::ValueObjectConstResultChild.
Definition at line 1635 of file ValueObject.cpp.
References lldb_private::eAddressTypeLoad, lldb_private::Value::FileAddress, lldb_private::Value::HostAddress, lldb_private::Value::Invalid, IsBitfield(), LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_value, lldb_private::Value::Scalar, and UpdateValueIfNeeded().
Referenced by AddressOf(), CreateConstantValue(), lldb_private::formatters::GetArrayAddressOrPointerValue(), GetLoadAddress(), GetPointeeData(), GetValueAsBool(), lldb_private::ItaniumABIRuntime::GetVTableInfo(), ReadPointedString(), and lldb_private::ValueObjectVTable::UpdateValue().
| AddressType ValueObject::GetAddressTypeOfChildren | ( | ) |
Definition at line 3707 of file ValueObject.cpp.
References lldb_private::eAddressTypeInvalid, GetAddressTypeOfChildren(), GetRoot(), m_address_type_of_ptr_or_ref_children, and ValueObject().
Referenced by GetAddressTypeOfChildren(), GetPointerValue(), GetVTableAddress(), and lldb_private::ValueObjectChild::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 424 of file ValueObject.h.
Referenced by lldb_private::TypeFormatImpl_Format::FormatObject(), IsBitfield(), and ResolveValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 422 of file ValueObject.h.
Referenced by lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::FormatManager::GetPossibleMatches(), IsBitfield(), and ResolveValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild.
Definition at line 420 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::ValueObjectRecognizerSynthesizedValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
Referenced by Cast(), CastToBasicType(), GetPointeeData(), GetSyntheticBitFieldChild(), SetData(), SetValueFromCString(), and SetValueFromInteger().
|
virtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 399 of file ValueObject.cpp.
References CreateChildAtIndex(), GetNumChildrenIgnoringErrors(), GetSP(), IsPossibleDynamicType(), m_children, UpdateValueIfNeeded(), and ValueObject().
Referenced by DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GenerateChild(), lldb_private::formatters::GetFirstValueOfLibCXXCompressedPair(), GetPointeeData(), lldb_private::formatters::GetSecondValueOfLibCXXCompressedPair(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::ValueObjectPrinter::PrintChildrenOneLiner(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
| lldb::ValueObjectSP ValueObject::GetChildAtNamePath | ( | llvm::ArrayRef< llvm::StringRef > | names | ) |
Definition at line 420 of file ValueObject.cpp.
References GetSP().
Referenced by ExtractMsvcStlStringData(), and lldb_private::formatters::LibStdcppStringSummaryProvider().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegisterSet, and lldb_private::ValueObjectSynthetic.
Definition at line 440 of file ValueObject.cpp.
References GetCompilerType(), lldb_private::CompilerType::GetIndexOfChildMemberWithName(), GetSP(), IsPossibleDynamicType(), and UpdateValueIfNeeded().
Referenced by Dereference(), formatStringViewImpl(), formatStringViewImpl(), lldb_private::formatters::GetChildMemberWithName(), lldb_private::formatters::GetFirstValueOfLibCXXCompressedPair(), lldb_private::formatters::GetSecondValueOfLibCXXCompressedPair(), LibCxx::GetSizeMember(), LibStdcpp::GetSizeMember(), LibCxx::GetStartMember(), LibStdcpp::GetStartMember(), lldb_private::formatters::GetValueOrOldCompressedPair(), lldb_private::formatters::IsMsvcStlMapLike(), lldb_private::formatters::IsMsvcStlTreeIter(), lldb_private::formatters::LibcxxChronoMonthSummaryProvider(), LibcxxChronoTimepointDaysSummaryProvider(), LibcxxChronoTimePointSecondsSummaryProvider(), lldb_private::formatters::LibcxxChronoWeekdaySummaryProvider(), lldb_private::formatters::LibcxxChronoYearMonthDaySummaryProvider(), LibcxxExtractOrderingValue(), lldb_private::formatters::LibcxxSourceLocationSummaryProvider(), LibStdcppExtractOrderingValue(), lldb_private::formatters::LibStdcppSourceLocationSummaryProvider(), MsvcStlExtractOrderingValue(), and lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::Update().
| CompilerType ValueObject::GetCompilerType | ( | ) |
Definition at line 254 of file ValueObject.cpp.
References GetCompilerTypeImpl(), GetExecutionContextRef(), GetObjectRuntimeLanguage(), GetProcessSP(), GetUpdatePoint(), m_flags, and m_override_type.
Referenced by AddressOf(), lldb_private::dil::ArrayToPointerConversion(), 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(), Cast(), CastBaseToDerivedType(), CastDerivedToBaseType(), CastToBasicType(), CastToEnumType(), CharStringSummaryProvider(), Clone(), lldb_private::formatters::CMTimeSummaryProvider(), CopyExpressionResult(), lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), lldb_private::CPPLanguageRuntime::CouldHaveDynamicValue(), lldb_private::GNUstepObjCRuntime::CouldHaveDynamicValue(), CreateChildAtIndex(), CreateConstantValue(), CreateSyntheticArrayMember(), Dereference(), DerefToNSErrorPointer(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), DumpPrintableRepresentation(), lldb_private::FormatEntity::Formatter::DumpValue(), ExtractFields(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::CPPLanguageRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), GetChildMemberWithName(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::ValueObjectConstResultCast::GetCompilerType(), lldb_private::ValueObjectConstResultChild::GetCompilerType(), lldb_private::formatters::GetDesugaredSmartPointerValue(), lldb_private::ValueObjectChild::GetDisplayTypeName(), lldb_private::ValueObjectConstResult::GetDisplayTypeName(), lldb_private::ValueObjectDynamicValue::GetDisplayTypeName(), lldb_private::ItaniumABIRuntime::GetDynamicTypeAndAddress(), GetExpressionPath(), lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics(), GetIndexOfChildWithName(), GetNumChildren(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetObjectRuntimeLanguage(), GetPointeeData(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::FormatManager::GetPossibleMatches(), GetQualifiedTypeName(), lldb_private::ValueObjectChild::GetQualifiedTypeName(), GetStrippedPointerValue(), GetSummaryAsCString(), GetSyntheticBitFieldChild(), GetTypeImpl(), GetTypeInfo(), GetTypeName(), lldb_private::ValueObjectChild::GetTypeName(), lldb_private::ValueObjectConstResult::GetTypeName(), lldb_private::ValueObjectRegister::GetTypeName(), GetValueAsAPFloat(), GetValueAsAPSInt(), GetValueAsBool(), GetVTableAddress(), lldb_private::ItaniumABIRuntime::GetVTableInfo(), lldb_private::formatters::GetWCharByteSize(), IsArrayType(), IsIntegerType(), lldb_private::formatters::IsMsvcStlOrdering(), lldb_private::formatters::IsMsvcStlStringType(), lldb_private::formatters::IsMsvcStlStringViewType(), lldb_private::ObjCLanguage::IsNilReference(), IsPointerOrReferenceType(), IsPointerType(), IsPossibleDynamicType(), IsScalarType(), 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(), SetValueFromInteger(), SetValueFromInteger(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), and lldb_private::formatters::WCharStringSummaryProvider().
|
protectedpure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRecognizerSynthesizedValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
Referenced by GetCompilerType().
|
virtual |
Definition at line 794 of file ValueObject.cpp.
References error(), lldb_private::DataExtractor::GetByteSize(), GetExecutionContextRef(), GetModule(), m_data, m_value, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::DataExtractor::SetByteOrder(), and UpdateValueIfNeeded().
Referenced by CharSummaryProvider(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), GetVTableAddress(), lldb_private::formatters::ObjCSELSummaryProvider(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::formatters::WCharSummaryProvider().
|
protected |
Definition at line 284 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 1798 of file ValueObject.cpp.
References lldb_private::Declaration::Clear().
Referenced by lldb_private::ValueObjectDynamicValue::GetDeclaration(), and lldb_private::ValueObjectSynthetic::GetDeclaration().
|
inline |
Definition at line 896 of file ValueObject.h.
References m_deref_valobj, and ValueObject().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectVTable.
Definition at line 367 of file ValueObject.h.
References GetTypeName().
Referenced by lldb_private::ValueObjectPrinter::PrintDecl().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, and lldb_private::ValueObjectSynthetic.
Definition at line 2085 of file ValueObject.cpp.
References CalculateDynamicValue(), lldb::eNoDynamicValues, IsDynamic(), and m_dynamic_value.
Referenced by GetQualifiedRepresentationIfAvailable().
| lldb::DynamicValueType ValueObject::GetDynamicValueType | ( | ) |
Definition at line 3716 of file ValueObject.cpp.
References lldb::eNoDynamicValues, GetDynamicValueTypeImpl(), HasDynamicValueTypeInfo(), m_parent, and ValueObject().
Referenced by lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::DumpValueObjectOptions::DumpValueObjectOptions(), and UpdateFormatsIfNeeded().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 1181 of file ValueObject.h.
References lldb::eNoDynamicValues.
Referenced by GetDynamicValueType().
| const Status & ValueObject::GetError | ( | ) |
Definition at line 289 of file ValueObject.cpp.
References m_error, and UpdateValueIfNeeded().
Referenced by lldb_private::ValueObjectPrinter::GetValueSummaryError(), and lldb_private::ValueObjectChild::UpdateValue().
|
inline |
Definition at line 330 of file ValueObject.h.
References m_update_point.
Referenced by 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(), Cast(), CastPointerType(), CastPointerType(), CastToBasicType(), CastToEnumType(), lldb_private::ValueObjectSynthetic::CopyValueData(), CreateChildAtIndex(), CreateConstantValue(), CreateSyntheticArrayMember(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), Dereference(), lldb_private::ValueObjectVariable::DoUpdateChildrenAddressType(), ExtractFields(), lldb_private::StringSummaryFormat::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ValueObjectCast::GetByteSize(), lldb_private::ValueObjectConstResult::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectMemory::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), GetCompilerType(), lldb_private::ValueObjectRegister::GetCompilerTypeImpl(), GetData(), lldb_private::ValueObjectConstResult::GetDynamicValue(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetObjectDescription(), GetPointeeData(), lldb_private::FormatManager::GetPossibleMatches(), GetStrippedPointerValue(), GetSummaryAsCString(), GetSyntheticBase(), GetSyntheticChildAtOffset(), GetVBaseBitOffset(), lldb_private::ItaniumABIRuntime::GetVTableInfo(), lldb_private::ValueObjectVariable::IsInScope(), IsPossibleDynamicType(), lldb_private::formatters::NSError_SummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), ReadPointedString(), ResolveValue(), SetData(), lldb_private::ValueObjectVariable::SetData(), SetValueFromCString(), lldb_private::ValueObjectVariable::SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), and ValueObjectVTableChild::UpdateValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectRegister, and lldb_private::ValueObjectSynthetic.
Definition at line 2128 of file ValueObject.cpp.
References CanProvideValue(), eGetExpressionPathFormatDereferencePointers, eGetExpressionPathFormatHonorPointers, GetCompilerType(), lldb_private::ConstString::GetCString(), GetExpressionPath(), GetName(), GetNonBaseClassParent(), GetParent(), lldb_private::CompilerType::GetPointeeType(), lldb_private::CompilerType::GetTypeInfo(), GetTypeName(), GetValueAsCString(), GetValueAsUnsigned(), lldb_private::CompilerType::IsArrayType(), IsBaseClass(), IsDereferenceOfParent(), lldb_private::ConstString::IsEmpty(), IsPointerOrReferenceType(), lldb_private::CompilerType::IsPointerType(), LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_flags, m_name, m_value, lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), lldb_private::Stream::PutCString(), UpdateValueIfNeeded(), and ValueObject().
Referenced by AddressOf(), Dereference(), DumpPrintableRepresentation(), GetExpressionPath(), lldb_private::ValueObjectSynthetic::GetExpressionPath(), and lldb_private::ValueObjectPrinter::PrintDecl().
| lldb::Format ValueObject::GetFormat | ( | ) | const |
Definition at line 3726 of file ValueObject.cpp.
References lldb::eFormatDefault, m_format, m_parent, and ValueObject().
Referenced by GetValueAsCString(), and lldb_private::ValueObjectPrinter::GetValueSummaryError().
|
inline |
Definition at line 346 of file ValueObject.h.
References m_update_point.
Referenced by GetPreferredDisplayLanguage().
|
inline |
Returns a unique id for this ValueObject.
Definition at line 488 of file ValueObject.h.
References 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 434 of file ValueObject.cpp.
References GetCompilerType(), and lldb_private::CompilerType::GetIndexOfChildWithName().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 852 of file ValueObject.h.
References m_update_point.
Referenced by CanSetValue(), SetData(), SetValueFromCString(), SetValueFromInteger(), and UpdateValueIfNeeded().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 966 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 635 of file ValueObject.h.
References LLDB_INVALID_ADDRESS.
| lldb::addr_t ValueObject::GetLoadAddress | ( | ) |
Return the target load address associated with this value object.
Definition at line 3020 of file ValueObject.cpp.
References lldb_private::eAddressTypeFile, lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, GetAddressOf(), lldb_private::Address::GetLoadAddress(), GetModule(), GetTargetSP(), and LLDB_INVALID_ADDRESS.
Referenced by lldb_private::dil::ArrayToPointerConversion(), and CastBaseToDerivedType().
| llvm::ArrayRef< uint8_t > ValueObject::GetLocalBuffer | ( | ) | const |
Returns the local buffer that this ValueObject points to if it's available.
TODO: Because a ValueObject's Value can point to any arbitrary memory location, it is possible that we can't find what what buffer we're pointing to, and thus also can't know its size. See the comment in Value::m_value for a more thorough explanation of why that is.
Definition at line 882 of file ValueObject.cpp.
References lldb_private::Value::HostAddress, LLDB_INVALID_ADDRESS, m_data, and m_value.
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 520 of file ValueObject.h.
References GetLocationAsCStringImpl(), m_data, and m_value.
Referenced by DumpPrintableRepresentation(), lldb_private::FormatEntity::Formatter::DumpValue(), and lldb_private::ValueObjectVariable::GetLocationAsCString().
|
protected |
Definition at line 294 of file ValueObject.cpp.
References lldb_private::RegisterInfo::alt_name, lldb::eEncodingVector, lldb_private::RegisterInfo::encoding, 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::RegisterInfo::name, 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 1171 of file ValueObject.h.
References m_manager.
Referenced by CheckValueObjectOwnership(), CreateValueObjectFromAddress(), CreateValueObjectFromData(), CreateValueObjectFromScalar(), ReuseManagerIfParent(), and ValueObject().
|
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 3681 of file ValueObject.cpp.
References GetModule(), GetRoot(), and ValueObject().
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), lldb_private::formatters::GetArrayAddressOrPointerValue(), GetData(), GetLoadAddress(), GetModule(), GetPointeeData(), ResolveValue(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), and ValueObjectVTableChild::UpdateValue().
|
inline |
Definition at line 485 of file ValueObject.h.
References m_name.
Referenced by lldb_private::ValueObjectSynthetic::CalculateNumChildren(), CheckValueObjectOwnership(), DoCast(), 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 2118 of file ValueObject.cpp.
References GetNonBaseClassParent(), GetParent(), IsBaseClass(), and ValueObject().
Referenced by GetExpressionPath(), and GetNonBaseClassParent().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 611 of file ValueObject.h.
References GetSP().
Referenced by GetAlternateValue(), lldb_private::formatters::GetLibCxxAtomicValue(), lldb_private::formatters::IsLibCxxAtomic(), lldb_private::formatters::IsMsvcStlAtomic(), lldb_private::formatters::IsMsvcStlDeque(), lldb_private::formatters::IsMsvcStlList(), lldb_private::formatters::IsMsvcStlOptional(), lldb_private::formatters::IsMsvcStlSmartPointer(), lldb_private::formatters::IsMsvcStlSpan(), lldb_private::formatters::IsMsvcStlTuple(), lldb_private::formatters::IsMsvcStlUniquePtr(), lldb_private::formatters::IsMsvcStlUnordered(), lldb_private::formatters::IsMsvcStlVariant(), lldb_private::formatters::LibcxxFunctionSummaryProvider(), lldb_private::formatters::LibcxxSmartPointerSummaryProvider(), lldb_private::formatters::LibcxxStdSliceArraySummaryProvider(), lldb_private::formatters::LibcxxUniquePointerSummaryProvider(), lldb_private::formatters::LibcxxVariantSummaryProvider(), lldb_private::formatters::LibStdcppSmartPointerSummaryProvider(), lldb_private::formatters::LibStdcppVariantSummaryProvider(), lldb_private::formatters::MsvcStlSmartPointerSummaryProvider(), lldb_private::formatters::MsvcStlTreeIterSummaryProvider(), lldb_private::formatters::MsvcStlUniquePtrSummaryProvider(), lldb_private::formatters::MsvcStlVariantSummaryProvider(), and lldb_private::formatters::StdlibCoroutineHandleSummaryProvider().
| llvm::Expected< uint32_t > ValueObject::GetNumChildren | ( | uint32_t | max = UINT32_MAX | ) |
Definition at line 468 of file ValueObject.cpp.
References CalculateNumChildren(), m_children, m_flags, SetNumChildren(), UINT32_MAX, and UpdateValueIfNeeded().
Referenced by DumpPrintableRepresentation(), lldb_private::ValueObjectPrinter::GetMaxNumChildrenToPrint(), GetNumChildrenIgnoringErrors(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
| uint32_t ValueObject::GetNumChildrenIgnoringErrors | ( | uint32_t | max = UINT32_MAX | ) |
Like GetNumChildren but returns 0 on error.
You probably shouldn't be using this function. It exists primarily to ease the transition to more pervasive error handling while not all APIs have been updated.
Definition at line 489 of file ValueObject.cpp.
References lldb_private::DataFormatters, lldb_private::GetLog(), GetNumChildren(), and LLDB_LOG_ERRORV.
Referenced by DumpPrintableRepresentation(), lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::formatters::GenericOptionalSummaryProvider(), GetChildAtIndex(), lldb_private::ValueObjectSynthetic::GetIndexOfChildWithName(), lldb_private::formatters::GetSecondValueOfLibCXXCompressedPair(), HasChildren(), and MightHaveChildren().
| llvm::Expected< std::string > ValueObject::GetObjectDescription | ( | ) |
Definition at line 1045 of file ValueObject.cpp.
References lldb::eLanguageTypeObjC, error(), 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(), and lldb_private::ValueObjectPrinter::PrintValueObject().
|
inline |
Definition at line 373 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetMinimumLanguage().
Referenced by lldb_private::LanguageCategory::Get(), lldb_private::TypeCategoryMap::Get(), GetCompilerType(), GetObjectDescription(), lldb_private::FormatManager::GetPossibleMatches(), IsLogicalTrue(), lldb_private::CPlusPlusLanguage::IsNilReference(), IsNilReference(), lldb_private::Process::IsPossibleDynamicValue(), IsUninitializedReference(), SetValueFromCString(), lldb_private::ValueObjectVTable::UpdateValue(), and ValueObjectVTableChild::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 924 of file ValueObject.h.
References m_logical_parent, m_parent, and ValueObject().
Referenced by DerefToNSErrorPointer(), ExtractFields(), GetExpressionPath(), GetNonBaseClassParent(), lldb_private::ValueObjectVTable::IsInScope(), ValueObjectVTableChild::IsInScope(), lldb_private::ValueObjectVTable::UpdateValue(), and ValueObjectVTableChild::UpdateValue().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 928 of file ValueObject.h.
References m_logical_parent, m_parent, and ValueObject().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectConstResultCast, and lldb_private::ValueObjectConstResultChild.
Definition at line 691 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::WritableDataBuffer::GetBytes(), lldb_private::CompilerType::GetByteSize(), GetByteSize(), GetChildAtIndex(), GetCompilerType(), GetExecutionContextRef(), GetModule(), GetPointerValue(), lldb_private::ExecutionContext::GetTargetPtr(), GetTypeInfo(), LLDB_INVALID_ADDRESS, m_value, lldb_private::Target::ReadMemory(), lldb_private::DataBufferHeap::SetByteSize(), lldb_private::DataExtractor::SetData(), lldb_private::Address::SetLoadAddress(), and Target.
Referenced by ReadPointedString().
| ValueObject::AddrAndType ValueObject::GetPointerValue | ( | ) |
Definition at line 1673 of file ValueObject.cpp.
References lldb_private::Value::FileAddress, GetAddressTypeOfChildren(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_data, m_value, lldb_private::Value::Scalar, and UpdateValueIfNeeded().
Referenced by CastPointerType(), CastPointerType(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::formatters::GetArrayAddressOrPointerValue(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::AppleObjCRuntimeV1::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::ItaniumABIRuntime::GetDynamicTypeAndAddress(), GetPointeeData(), lldb_private::ItaniumABIRuntime::GetTypeInfo(), lldb_private::ItaniumABIRuntime::GetVTableInfo(), IsCStringContainer(), lldb_private::ValueObjectPrinter::PrintValueAndSummaryIfNeeded(), ReadPointedString(), lldb_private::ValueObjectPrinter::ShouldPrintChildren(), and lldb_private::ValueObjectChild::UpdateValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 3736 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(), GetSummaryAsCString(), lldb_private::ValueObjectPrinter::GetValueSummaryError(), Persist(), and lldb_private::ValueObjectPrinter::PrintDecl().
|
inline |
Definition at line 338 of file ValueObject.h.
References 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(), GetCompilerType(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::AppleObjCRuntimeV2::GetPreferredLanguageRuntime(), IsRuntimeSupportValue(), 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::NSIndirectTaggedString_SummaryProvider(), 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::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), and ValueObjectVTableChild::UpdateValue().
| ValueObjectSP ValueObject::GetQualifiedRepresentationIfAvailable | ( | lldb::DynamicValueType | dynValue, |
| bool | synthValue ) |
Definition at line 2793 of file ValueObject.cpp.
References lldb::eDynamicCanRunTarget, lldb::eDynamicDontRunTarget, lldb::eNoDynamicValues, GetDynamicValue(), GetSP(), GetStaticValue(), and IsDynamic().
Referenced by lldb_private::FormatEntity::Formatter::DumpValue(), and lldb_private::FormatManager::GetTypeForCache().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectChild, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectVTable.
Definition at line 369 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetTypeName().
Referenced by lldb_private::ValueObjectPrinter::PrintDecl().
| ValueObject * ValueObject::GetRoot | ( | ) |
Definition at line 3688 of file ValueObject.cpp.
References FollowParentChain(), m_parent, m_root, and ValueObject().
Referenced by GetAddressTypeOfChildren(), GetModule(), GetPreferredDisplayLanguage(), lldb_private::ValueObjectChild::IsInScope(), and UpdateChildrenAddressType().
|
inline |
Definition at line 567 of file ValueObject.h.
References m_manager.
Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), lldb_private::ValueObjectConstResultImpl::Cast(), CastDerivedToBaseType(), lldb_private::ValueObjectCast::Create(), lldb::SBTypeSummary::CreateWithCallback(), lldb_private::BytecodeSummaryFormat::FormatObject(), lldb_private::ScriptSummaryFormat::FormatObject(), lldb_private::BytecodeSyntheticChildren::FrontEnd::FrontEnd(), lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd(), GetChildAtIndex(), lldb_private::ValueObjectSynthetic::GetChildAtIndex(), GetChildAtNamePath(), GetChildMemberWithName(), lldb_private::ValueObjectRegisterSet::GetChildMemberWithName(), lldb_private::formatters::GetDesugaredSmartPointerValue(), lldb_private::ValueObjectSynthetic::GetDynamicValue(), lldb_private::CXXSyntheticChildren::GetFrontEnd(), GetNonSyntheticValue(), lldb::SBValue::GetParent(), GetQualifiedRepresentationIfAvailable(), GetStaticValue(), lldb_private::ValueObjectSynthetic::GetStaticValue(), GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), GetValueForExpressionPath_Impl(), lldb_private::formatters::LibStdcppUniquePointerSummaryProvider(), lldb_private::formatters::ObjCBOOLSummaryProvider(), and lldb_private::formatters::VectorTypeSummaryProvider().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 609 of file ValueObject.h.
References GetSP().
Referenced by lldb_private::FormatManager::GetPossibleMatches(), and GetQualifiedRepresentationIfAvailable().
| std::optional< addr_t > ValueObject::GetStrippedPointerValue | ( | lldb::addr_t | address | ) |
Remove ptrauth bits from address if the type has a ptrauth qualifier.
Definition at line 1663 of file ValueObject.cpp.
References GetCompilerType(), GetExecutionContextRef(), and lldb_private::ExecutionContext::GetProcessPtr().
Referenced by lldb_private::ValueObjectPrinter::PrintValueAndSummaryIfNeeded().
| const char * ValueObject::GetSummaryAsCString | ( | lldb::LanguageType | lang = lldb::eLanguageTypeUnknown | ) |
Definition at line 659 of file ValueObject.cpp.
References GetSummaryAsCString(), GetSummaryFormat(), m_summary_str, lldb_private::TypeSummaryOptions::SetLanguage(), and UpdateValueIfNeeded().
Referenced by DumpPrintableRepresentation(), GetSummaryAsCString(), GetSummaryAsCString(), GetSummaryAsCString(), and lldb_private::ValueObjectPrinter::GetValueSummaryError().
| bool ValueObject::GetSummaryAsCString | ( | std::string & | destination, |
| const TypeSummaryOptions & | options ) |
Definition at line 671 of file ValueObject.cpp.
References GetSummaryAsCString(), and GetSummaryFormat().
| bool ValueObject::GetSummaryAsCString | ( | TypeSummaryImpl * | summary_ptr, |
| std::string & | destination, | ||
| const TypeSummaryOptions & | options ) |
Definition at line 604 of file ValueObject.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::TypeSummaryImpl::FormatObject(), GetCompilerType(), GetExecutionContextRef(), lldb_private::TypeSummaryOptions::GetLanguage(), GetPreferredDisplayLanguage(), GetTargetSP(), HasSyntheticValue(), m_flags, 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 597 of file ValueObject.cpp.
References GetSummaryAsCString().
|
inline |
Definition at line 884 of file ValueObject.h.
References m_type_summary_sp, and UpdateFormatsIfNeeded().
Referenced by GetSummaryAsCString(), GetSummaryAsCString(), lldb_private::ValueObjectPrinter::GetSummaryFormatter(), and lldb_private::FormatManager::ShouldPrintAsOneLiner().
|
virtual |
Reimplemented in lldb_private::ValueObjectVariable.
Definition at line 3539 of file ValueObject.cpp.
References m_parent.
| ValueObjectSP ValueObject::GetSyntheticArrayMember | ( | size_t | index, |
| bool | can_create ) |
Definition at line 1865 of file ValueObject.cpp.
References AddSyntheticChild(), CreateSyntheticArrayMember(), GetSP(), GetSyntheticChild(), IsArrayType(), IsPointerType(), and ValueObject().
Referenced by lldb_private::ValueObjectPrinter::GenerateChild().
|
virtual |
Definition at line 1966 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 1892 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 1807 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 1928 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::NSBundleSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), and lldb_private::formatters::NSURLSummaryProvider().
|
inline |
Definition at line 915 of file ValueObject.h.
References m_synthetic_children_sp, and UpdateFormatsIfNeeded().
| ValueObjectSP ValueObject::GetSyntheticExpressionPathChild | ( | const char * | expression, |
| bool | can_create ) |
Definition at line 2022 of file ValueObject.cpp.
References AddSyntheticChild(), GetSyntheticChild(), GetValueForExpressionPath(), and SkipLeadingExpressionPathSeparators().
| ValueObjectSP ValueObject::GetSyntheticValue | ( | ) |
Definition at line 2098 of file ValueObject.cpp.
References CalculateSyntheticValue(), and m_synthetic_value.
Referenced by CreateSyntheticArrayMember(), lldb_private::FormatEntity::Formatter::DumpValue(), GetAlternateValue(), and lldb_private::formatters::MsvcStlAtomicSummaryProvider().
|
inline |
Definition at line 334 of file ValueObject.h.
References m_update_point.
Referenced by CalculateSyntheticValue(), CastBaseToDerivedType(), CastDerivedToBaseType(), CastToBasicType(), CastToEnumType(), CharStringSummaryProvider(), CheckValueObjectOwnership(), lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::BytecodeSummaryFormat::FormatObject(), lldb_private::ScriptSummaryFormat::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), GetLoadAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::FormatManager::GetPossibleMatches(), GetSummaryAsCString(), lldb_private::formatters::NSAttributedStringSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), Persist(), lldb_private::ValueObjectPrinter::PrintChildrenIfNeeded(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStreamOptions::ReadBufferAndDumpToStreamOptions(), lldb_private::formatters::StringPrinter::ReadStringAndDumpToStreamOptions::ReadStringAndDumpToStreamOptions(), SetValueFromInteger(), SetValueFromInteger(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectMemory::ValueObjectMemory(), and lldb_private::formatters::WCharStringSummaryProvider().
|
inline |
Definition at line 342 of file ValueObject.h.
References m_update_point.
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 355 of file ValueObject.h.
References GetCompilerType().
|
inline |
Definition at line 378 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::GetTypeInfo().
Referenced by DumpPrintableRepresentation(), lldb_private::FormatEntity::Formatter::DumpValue(), DumpValueWithLLVMFormat(), 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::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, and lldb_private::ValueObjectVTable.
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(), lldb_private::FormatEntity::Formatter::DumpValue(), GetDisplayTypeName(), GetExpressionPath(), and lldb_private::ItaniumABIRuntime::GetTypeInfo().
|
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 GetCompilerType(), and ValueObject().
|
inline |
Definition at line 511 of file ValueObject.h.
References m_value.
|
inline |
Definition at line 509 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(), and lldb_private::ValueObjectChild::UpdateValue().
| llvm::Expected< llvm::APFloat > ValueObject::GetValueAsAPFloat | ( | ) |
If the current ValueObject is of an appropriate type, convert the value to an APFloat and return that.
Otherwise return an error.
Definition at line 1196 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::GetAPFloat(), GetCompilerType(), HasFloatingRepresentation(), and ResolveValue().
Referenced by CastToBasicType(), CastToEnumType(), and GetValueAsBool().
| llvm::Expected< llvm::APSInt > ValueObject::GetValueAsAPSInt | ( | ) |
If the current ValueObject is of an appropriate type, convert the value to an APSInt and return that.
Otherwise return an error.
Definition at line 1177 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::GetAPSInt(), GetCompilerType(), IsPointerType(), and ResolveValue().
Referenced by CastToBasicType(), CastToEnumType(), and GetValueAsBool().
| llvm::Expected< bool > ValueObject::GetValueAsBool | ( | ) |
If the current ValueObject is of an appropriate type, convert the value to a boolean and return that.
Otherwise return an error.
Definition at line 1210 of file ValueObject.cpp.
References lldb_private::ValueObject::AddrAndType::address, GetAddressOf(), GetCompilerType(), lldb_private::GetLog(), GetValueAsAPFloat(), GetValueAsAPSInt(), HasFloatingRepresentation(), lldb_private::CompilerType::IsArrayType(), lldb_private::CompilerType::IsInteger(), lldb_private::CompilerType::IsPointerType(), lldb_private::CompilerType::IsUnscopedEnumerationType(), LLDB_LOG_ERROR, and lldb_private::Types.
|
virtual |
Definition at line 1100 of file ValueObject.cpp.
References lldb::eFormatDefault, lldb::eFormatUnsigned, lldb_private::RegisterInfo::format, lldb_private::Value::GetCompilerType(), lldb_private::CompilerType::GetFormat(), GetFormat(), GetValue(), GetValueAsCString(), m_flags, m_last_format, m_old_value_str, m_type_format_sp, m_value, m_value_str, lldb_private::Value::RegisterInfo, SetValueDidChange(), and UpdateValueIfNeeded().
Referenced by CharSummaryProvider(), DumpPrintableRepresentation(), lldb_private::BytecodeSummaryFormat::FormatObject(), GetExpressionPath(), GetValueAsCString(), GetValueAsCString(), and lldb_private::ValueObjectPrinter::GetValueSummaryError().
|
virtual |
Definition at line 1087 of file ValueObject.cpp.
References lldb_private::TypeFormatImpl::FormatObject(), and UpdateValueIfNeeded().
| bool ValueObject::GetValueAsCString | ( | lldb::Format | format, |
| std::string & | destination ) |
Definition at line 1095 of file ValueObject.cpp.
References GetValueAsCString().
|
virtual |
Definition at line 1159 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::MakeSigned(), ResolveValue(), and lldb_private::Scalar::SLongLong().
Referenced by lldb_private::formatters::CFAbsoluteTimeSummaryProvider(), and DumpValueWithLLVMFormat().
|
virtual |
Definition at line 1141 of file ValueObject.cpp.
References CanProvideValue(), lldb_private::Scalar::MakeUnsigned(), ResolveValue(), and lldb_private::Scalar::ULongLong().
Referenced by CalculateNumChildrenUsingPointerArithmetic(), CastBaseToDerivedType(), CastToBasicType(), lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), CopyExpressionResult(), CreateConstantValue(), DerefToNSErrorPointer(), lldb_private::formatters::DumpCxxSmartPtrPointerSummary(), DumpValueWithLLVMFormat(), ExtractFields(), GetExpressionPath(), GetNumChildren(), GetVTableAddress(), lldb_private::CPlusPlusLanguage::IsNilReference(), lldb_private::ObjCLanguage::IsNilReference(), 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::ValueObjectPrinter::PrintChildrenIfNeeded(), lldb_private::ValueObjectDynamicValue::SetData(), lldb_private::ValueObjectDynamicValue::SetValueFromCString(), and ValueObjectVTableChild::UpdateValue().
|
inline |
Definition at line 561 of file ValueObject.h.
References m_flags.
| 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 2276 of file ValueObject.cpp.
References DereferenceValueOrAlternate(), eExpressionPathAftermathDereference, eExpressionPathAftermathNothing, eExpressionPathAftermathTakeAddress, eExpressionPathEndResultTypeInvalid, eExpressionPathEndResultTypePlain, eExpressionPathScanEndReasonDereferencingFailed, eExpressionPathScanEndReasonTakingAddressFailed, eExpressionPathScanEndReasonUnknown, error(), GetValueForExpressionPath_Impl(), and lldb_private::ValueObject::GetValueForExpressionPathOptions::m_synthetic_children_traversal.
Referenced by lldb_private::FormatEntity::Formatter::DumpValue(), ExpandIndexedExpression(), and GetSyntheticExpressionPathChild().
|
private |
Definition at line 2345 of file ValueObject.cpp.
References lldb_private::Flags::AllClear(), DereferenceValueOrAlternate(), eExpressionPathAftermathDereference, eExpressionPathAftermathNothing, eExpressionPathEndResultTypeBitfield, eExpressionPathEndResultTypeBoundedRange, eExpressionPathEndResultTypeInvalid, eExpressionPathEndResultTypePlain, eExpressionPathEndResultTypeUnboundedRange, eExpressionPathScanEndReasonArrayRangeOperatorMet, eExpressionPathScanEndReasonArrowInsteadOfDot, eExpressionPathScanEndReasonDereferencingFailed, eExpressionPathScanEndReasonDotInsteadOfArrow, eExpressionPathScanEndReasonEmptyRangeNotAllowed, eExpressionPathScanEndReasonEndOfString, eExpressionPathScanEndReasonFragileIVarNotAllowed, eExpressionPathScanEndReasonNoSuchChild, eExpressionPathScanEndReasonRangeOperatorInvalid, eExpressionPathScanEndReasonRangeOperatorNotAllowed, eExpressionPathScanEndReasonSyntheticValueMissing, eExpressionPathScanEndReasonUnexpectedSymbol, lldb::eLanguageTypeObjC, error(), GetAlternateValue(), 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::Flags::Reset(), lldb_private::Flags::Test(), and ValueObject().
Referenced by GetValueForExpressionPath().
|
inline |
Definition at line 903 of file ValueObject.h.
References m_type_format_sp, and UpdateFormatsIfNeeded().
|
inline |
Definition at line 557 of file ValueObject.h.
References m_flags.
Referenced by UpdateValueIfNeeded().
|
pure virtual |
Implemented in lldb_private::ValueObjectCast, lldb_private::ValueObjectChild, lldb_private::ValueObjectConstResult, lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectMemory, lldb_private::ValueObjectRecognizerSynthesizedValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
Referenced by lldb_private::formatters::CXXFunctionPointerSummaryProvider(), and lldb_private::CPlusPlusLanguage::GetHardcodedSummaries().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 962 of file ValueObject.h.
Referenced by IsRuntimeSupportValue(), SetValueFromInteger(), and SetValueFromInteger().
| lldb::ValueObjectSP ValueObject::GetVTable | ( | ) |
If this object represents a C++ class with a vtable, return an object that represents the virtual function table.
If the object isn't a class with a vtable, return a valid ValueObject with the error set correctly.
Definition at line 3796 of file ValueObject.cpp.
References lldb_private::ValueObjectVTable::Create().
|
inline |
Definition at line 507 of file ValueObject.h.
References GetNumChildrenIgnoringErrors().
|
inlineprotectedvirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue.
Definition at line 1185 of file ValueObject.h.
Referenced by GetDynamicValueType().
| bool ValueObject::HasSpecialPrintableRepresentation | ( | ValueObjectRepresentationStyle | val_obj_display, |
| lldb::Format | custom_format ) |
Definition at line 1332 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 lldb_private::FormatEntity::Formatter::DumpValue().
|
virtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 2107 of file ValueObject.cpp.
References CalculateSyntheticValue(), m_synthetic_children_sp, m_synthetic_value, and UpdateFormatsIfNeeded().
Referenced by Dereference(), and GetSummaryAsCString().
|
inline |
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(), GetExpressionPath(), GetNonBaseClassParent(), and lldb_private::ValueObjectPrinter::IsInstancePointer().
|
inline |
Definition at line 426 of file ValueObject.h.
References GetBitfieldBitOffset(), and GetBitfieldBitSize().
Referenced by CreateConstantValue(), lldb_private::FormatEntity::Formatter::DumpValue(), and GetAddressOf().
|
inlineprotected |
Definition at line 1227 of file ValueObject.h.
References m_value_checksum.
Referenced by UpdateValueIfNeeded().
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 676 of file ValueObject.cpp.
References lldb_private::ValueObject::AddrAndType::address, lldb_private::Flags::AnySet(), 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 400 of file ValueObject.h.
Referenced by GetExpressionPath().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 688 of file ValueObject.h.
Referenced by CalculateDynamicValue(), GetDynamicValue(), lldb_private::ValueObjectConstResult::GetDynamicValue(), lldb_private::FormatManager::GetPossibleMatches(), GetQualifiedRepresentationIfAvailable(), 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, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
Definition at line 418 of file ValueObject.h.
Referenced by lldb_private::ValueObjectPrinter::CheckScopeIfNeeded(), lldb_private::ValueObjectChild::IsInScope(), lldb_private::ValueObjectVTable::IsInScope(), and UpdateValueIfNeeded().
Definition at line 402 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsIntegerType().
Definition at line 356 of file ValueObject.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, error(), lldb_private::Language::FindPlugin(), lldb_private::Status::FromErrorString(), GetObjectRuntimeLanguage(), ResolveValue(), and lldb_private::Scalar::ULongLong().
| bool ValueObject::IsNilReference | ( | ) |
Definition at line 1842 of file ValueObject.cpp.
References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().
Referenced by lldb_private::ValueObjectPrinter::IsNil().
|
inline |
Definition at line 388 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsPointerOrReferenceType().
Referenced by GetExpressionPath().
|
inline |
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(), GetValueAsAPSInt(), and lldb_private::CPlusPlusLanguage::IsNilReference().
| bool ValueObject::IsPossibleDynamicType | ( | ) |
Definition at line 1816 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 1825 of file ValueObject.cpp.
References lldb_private::Process::GetLanguageRuntime(), GetName(), GetProcessSP(), and GetVariable().
|
inline |
Definition at line 386 of file ValueObject.h.
References GetCompilerType(), and lldb_private::CompilerType::IsScalarType().
Referenced by GetSyntheticBitFieldChild().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 617 of file ValueObject.h.
Referenced by Dereference(), lldb_private::FormatEntity::Formatter::DumpValue(), lldb_private::DumpValueObjectOptions::DumpValueObjectOptions(), GetAlternateValue(), and lldb_private::FormatManager::GetTypeForCache().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 692 of file ValueObject.h.
References m_flags.
| bool ValueObject::IsUninitializedReference | ( | ) |
Definition at line 1849 of file ValueObject.cpp.
References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().
Referenced by lldb_private::ValueObjectPrinter::IsUninitialized().
|
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 498 of file ValueObject.cpp.
References GetNumChildrenIgnoringErrors(), and GetTypeInfo().
Referenced by lldb_private::ValueObjectPrinter::ShouldPrintEmptyBrackets().
|
inline |
Definition at line 862 of file ValueObject.h.
References CanUpdateWithInvalidExecutionContext(), lldb_private::eLazyBoolYes, and m_update_point.
Referenced by UpdateValueIfNeeded().
|
privatedelete |
References ValueObject().
| ValueObjectSP ValueObject::Persist | ( | ) |
Definition at line 3768 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, | ||
| bool | honor_array ) |
Definition at line 908 of file ValueObject.cpp.
References lldb_private::ValueObject::AddrAndType::address, lldb_private::Flags::AnySet(), CopyStringDataToBufferSP(), lldb_private::eAddressTypeHost, error(), lldb_private::Status::FromErrorString(), 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(), Target, lldb_private::Flags::Test(), and lldb_private::ValueObject::AddrAndType::type.
Referenced by DumpPrintableRepresentation().
Reimplemented in lldb_private::ValueObjectRegister.
Definition at line 338 of file ValueObject.cpp.
References lldb_private::Scalar::ExtractBitfield(), GetBitfieldBitOffset(), GetBitfieldBitSize(), GetExecutionContextRef(), GetModule(), lldb_private::Scalar::IsValid(), m_value, lldb_private::Value::ResolveValue(), and UpdateValueIfNeeded().
Referenced by lldb_private::AppleObjCRuntime::GetObjectDescription(), GetValueAsAPFloat(), GetValueAsAPSInt(), GetValueAsSigned(), GetValueAsUnsigned(), and IsLogicalTrue().
|
inlinestaticprotected |
The following two functions are helpers for Create methods for ValueObject subclasses that need to optionally receive a parent or external manager.
This returns a ValueObjectManagerSP that is either the SP of the parent - if it is non-null, or a new manager if null.
Definition at line 1036 of file ValueObject.h.
References lldb_private::ClusterManager< ValueObject >::Create(), GetManager(), and ValueObject().
Referenced by lldb_private::ValueObjectMemory::Create(), and lldb_private::ValueObjectMemory::Create().
|
inline |
Definition at line 936 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(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
virtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegister, and lldb_private::ValueObjectVariable.
Definition at line 812 of file ValueObject.cpp.
References lldb_private::Status::AsCString(), lldb_private::DataExtractor::CopyByteOrderedData(), error(), lldb_private::Value::FileAddress, lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), GetByteSize(), GetCompilerType(), lldb_private::DataExtractor::GetDataStart(), lldb_private::CompilerType::GetEncoding(), GetExecutionContextRef(), GetIsConstant(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::HostAddress, lldb_private::Value::Invalid, LLDB_INVALID_ADDRESS, lldb_private::Value::LoadAddress, m_data, m_value, lldb_private::Value::Scalar, SetNeedsUpdate(), lldb_private::Status::Success(), UpdateValueIfNeeded(), and lldb_private::Process::WriteMemory().
Referenced by lldb_private::ValueObjectVariable::SetData(), and SetValueFromInteger().
|
inline |
Definition at line 894 of file ValueObject.h.
References m_deref_valobj, and ValueObject().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectSynthetic.
Definition at line 872 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, and m_format.
Referenced by DumpPrintableRepresentation(), lldb_private::ValueObjectSynthetic::SetFormat(), lldb_private::ValueObjectVTable::ValueObjectVTable(), and ValueObjectVTableChild::ValueObjectVTableChild().
|
inline |
Definition at line 942 of file ValueObject.h.
References m_flags.
|
inline |
Definition at line 868 of file ValueObject.h.
References m_update_point.
Referenced by lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
inlinevirtual |
Reimplemented in lldb_private::ValueObjectDynamicValue, and lldb_private::ValueObjectSynthetic.
Definition at line 968 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 637 of file ValueObject.h.
References lldb_private::eAddressTypeLoad, and LLDB_INVALID_ADDRESS.
|
inline |
Definition at line 932 of file ValueObject.h.
References m_logical_parent, and ValueObject().
|
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 572 of file ValueObject.h.
References m_name.
Referenced by lldb_private::ValueObjectVTable::UpdateValue(), lldb_private::ValueObjectCast::ValueObjectCast(), lldb_private::ValueObjectDynamicValue::ValueObjectDynamicValue(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectMemory::ValueObjectMemory(), lldb_private::ValueObjectRecognizerSynthesizedValue::ValueObjectRecognizerSynthesizedValue(), lldb_private::ValueObjectSynthetic::ValueObjectSynthetic(), and ValueObjectVTableChild::ValueObjectVTableChild().
| void ValueObject::SetNeedsUpdate | ( | ) |
Definition at line 237 of file ValueObject.cpp.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, and m_update_point.
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 511 of file ValueObject.cpp.
References m_children, and m_flags.
Referenced by GetNumChildren().
|
inline |
Definition at line 880 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 3755 of file ValueObject.cpp.
References lldb::eLanguageTypeUnknown, m_preferred_display_language, and SetPreferredDisplayLanguage().
|
inline |
Definition at line 889 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsSummary, and m_type_summary_sp.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
|
inline |
Definition at line 908 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 696 of file ValueObject.h.
References m_flags.
Referenced by lldb_private::ValueObjectDynamicValue::SetSyntheticChildrenGenerated(), and lldb_private::ValueObjectSynthetic::SetSyntheticChildrenGenerated().
|
inlineprotected |
Definition at line 1205 of file ValueObject.h.
References m_flags.
Referenced by GetValueAsCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), and UpdateValueIfNeeded().
|
inline |
Definition at line 898 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsValue, and m_type_format_sp.
Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().
Reimplemented in lldb_private::ValueObjectDynamicValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectSynthetic, and lldb_private::ValueObjectVariable.
Definition at line 1707 of file ValueObject.cpp.
References ConvertBoolean(), lldb_private::DataExtractor::CopyByteOrderedData(), error(), lldb_private::Value::FileAddress, lldb_private::Status::FromErrorString(), GetByteSize(), GetCompilerType(), lldb_private::Scalar::GetData(), lldb_private::CompilerType::GetEncoding(), GetExecutionContextRef(), GetIsConstant(), GetObjectRuntimeLanguage(), lldb_private::ExecutionContext::GetProcessPtr(), 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(), SetNeedsUpdate(), lldb_private::Scalar::SetValueFromCString(), UpdateValueIfNeeded(), and lldb_private::Process::WriteScalarToMemory().
Referenced by lldb_private::ValueObjectVariable::SetValueFromCString().
| llvm::Error ValueObject::SetValueFromInteger | ( | const llvm::APInt & | value, |
| bool | can_update_var = true ) |
Update an existing integer ValueObject with a new integer value.
If can_update_var is true, will allow updating objects associated with program variables; otherwise not.
Definition at line 1235 of file ValueObject.cpp.
References error(), GetByteSize(), GetCompilerType(), GetIsConstant(), GetTargetSP(), GetVariable(), HasFloatingRepresentation(), lldb_private::CompilerType::IsBoolean(), lldb_private::CompilerType::IsInteger(), lldb_private::CompilerType::IsPointerType(), lldb_private::CompilerType::IsScalarType(), lldb_private::CompilerType::IsUnscopedEnumerationType(), and SetData().
Referenced by SetValueFromInteger().
| llvm::Error ValueObject::SetValueFromInteger | ( | lldb::ValueObjectSP | new_val_sp, |
| bool | can_update_var = true ) |
Update an existing integer ValueObject with an integer value created frome 'new_val_sp'.
If can_update_var is true, will allow updating objects associated with program variables; otherwise not.
Definition at line 1280 of file ValueObject.cpp.
References GetCompilerType(), GetTargetSP(), GetVariable(), HasFloatingRepresentation(), lldb_private::CompilerType::IsInteger(), lldb_private::CompilerType::IsPointerType(), lldb_private::CompilerType::IsScalarType(), lldb_private::CompilerType::IsUnscopedEnumerationType(), and SetValueFromInteger().
|
inlineprotected |
Definition at line 1209 of file ValueObject.h.
References m_flags.
Referenced by lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectConstResult::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), UpdateValueIfNeeded(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
inlineprivate |
Definition at line 1235 of file ValueObject.h.
References DoUpdateChildrenAddressType(), and GetRoot().
Referenced by UpdateValueIfNeeded().
| bool ValueObject::UpdateFormatsIfNeeded | ( | ) |
Definition at line 212 of file ValueObject.cpp.
References lldb_private::DataFormatters, 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::ValueObjectRecognizerSynthesizedValue, lldb_private::ValueObjectRegister, lldb_private::ValueObjectRegisterSet, lldb_private::ValueObjectSynthetic, lldb_private::ValueObjectVariable, lldb_private::ValueObjectVTable, and ValueObjectVTableChild.
Referenced by UpdateValueIfNeeded().
Definition at line 121 of file ValueObject.cpp.
References CanProvideValue(), ClearUserVisibleData(), eClearUserVisibleDataItemsDescription, eClearUserVisibleDataItemsSummary, eClearUserVisibleDataItemsValue, lldb_private::Status::FromErrorString(), GetIsConstant(), GetValueIsValid(), IsChecksumEmpty(), IsInScope(), m_data, m_error, m_flags, m_old_value_str, m_update_point, m_value_checksum, m_value_str, NeedsUpdating(), SetValueDidChange(), SetValueIsValid(), UpdateChildrenAddressType(), UpdateFormatsIfNeeded(), and UpdateValue().
Referenced by lldb_private::ValueObjectDynamicValue::CalculateNumChildren(), lldb_private::ValueObjectSynthetic::CalculateNumChildren(), lldb_private::ValueObjectVTable::CalculateNumChildren(), lldb_private::ValueObjectSynthetic::CanProvideValue(), lldb_private::ValueObjectVariable::CanSetValue(), lldb_private::ValueObjectSynthetic::CopyValueData(), 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(), GetNumChildren(), GetObjectDescription(), GetPointerValue(), lldb_private::ValueObjectDynamicValue::GetQualifiedTypeName(), GetSummaryAsCString(), GetSummaryAsCString(), lldb_private::ValueObjectDynamicValue::GetTypeImpl(), lldb_private::ValueObjectDynamicValue::GetTypeName(), GetValueAsCString(), 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(), and lldb_private::ValueObjectChild::UpdateValue().
|
inline |
Definition at line 682 of file ValueObject.h.
References ClearUserVisibleData(), eClearUserVisibleDataItemsDescription, eClearUserVisibleDataItemsSummary, and eClearUserVisibleDataItemsValue.
|
friend |
Definition at line 1157 of file ValueObject.h.
References ExpressionVariable.
Referenced by ExpressionVariable.
|
friend |
Definition at line 1158 of file ValueObject.h.
References Target.
Referenced by CheckValueObjectOwnership(), GetPointeeData(), ReadPointedString(), Target, lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), and lldb_private::ValueObjectVariable::UpdateValue().
|
friend |
Definition at line 1156 of file ValueObject.h.
References ValueObjectChild.
Referenced by CreateChildAtIndex(), CreateSyntheticArrayMember(), Dereference(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), and ValueObjectChild.
|
friend |
Definition at line 1159 of file ValueObject.h.
References ValueObjectConstResultImpl.
Referenced by ValueObjectConstResultImpl.
|
friend |
Definition at line 1160 of file ValueObject.h.
References lldb_private::eAddressTypeLoad, ValueObject(), and ValueObjectSynthetic.
Referenced by CalculateSyntheticValue(), and ValueObjectSynthetic.
|
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 1112 of file ValueObject.h.
Referenced by AddressOf().
|
protected |
Definition at line 1121 of file ValueObject.h.
Referenced by GetAddressTypeOfChildren(), SetAddressTypeOfChildren(), and ValueObject().
|
protected |
Definition at line 1103 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 1076 of file ValueObject.h.
Referenced by lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), GetData(), GetDataExtractor(), GetLocalBuffer(), 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(), ValueObjectVTableChild::UpdateValue(), UpdateValueIfNeeded(), ValueObject(), ValueObject(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
protected |
Definition at line 1108 of file ValueObject.h.
Referenced by Dereference(), GetDerefValobj(), and SetDerefValobj().
|
protected |
Definition at line 1106 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 1080 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::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectRegisterSet::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), UpdateValueIfNeeded(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), and lldb_private::ValueObjectConstResult::ValueObjectConstResult().
|
protected |
Referenced by ClearDynamicTypeInformation(), GetCompilerType(), GetExpressionPath(), GetNumChildren(), GetSummaryAsCString(), GetValueAsCString(), GetValueDidChange(), GetValueIsValid(), IsSyntheticChildrenGenerated(), SetHasCompleteType(), SetNumChildren(), SetSyntheticChildrenGenerated(), SetValueDidChange(), SetValueIsValid(), lldb_private::ValueObjectSynthetic::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), UpdateValueIfNeeded(), and ValueObject().
|
protected |
Definition at line 1114 of file ValueObject.h.
Referenced by GetFormat(), and SetFormat().
|
protected |
Unique identifier for every value object.
Definition at line 1130 of file ValueObject.h.
Referenced by GetID(), ValueObject(), and ValueObject().
|
protected |
Definition at line 1127 of file ValueObject.h.
Referenced by GetLanguageFlags(), and SetLanguageFlags().
|
protected |
Definition at line 1115 of file ValueObject.h.
Referenced by GetValueAsCString().
|
protected |
Definition at line 1116 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 1086 of file ValueObject.h.
Referenced by ClearUserVisibleData(), and GetLocationAsCStringImpl().
|
protected |
The parent to report from GetParent() when m_parent does not reflect the "display" (i.e logical) parent.
Used for synthetic children whose logical parent is the synthetic ValueObject. See also GetParent().
Definition at line 1065 of file ValueObject.h.
Referenced by GetParent(), GetParent(), and SetLogicalParent().
|
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 1101 of file ValueObject.h.
Referenced by GetManager(), GetSP(), ValueObject(), and ValueObject().
|
protected |
The name of this object.
Definition at line 1074 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::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), 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 1091 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 1084 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 1093 of file ValueObject.h.
Referenced by ClearDynamicTypeInformation(), and GetCompilerType().
|
protected |
The parent value object, or nullptr if this has no parent.
Definition at line 1061 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::ValueObjectRecognizerSynthesizedValue::GetByteSize(), lldb_private::ValueObjectSynthetic::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), lldb_private::ValueObjectRecognizerSynthesizedValue::GetCompilerTypeImpl(), lldb_private::ValueObjectSynthetic::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(), GetParent(), lldb_private::ValueObjectCast::GetParent(), lldb_private::ValueObjectCast::GetParent(), lldb_private::ValueObjectDynamicValue::GetParent(), lldb_private::ValueObjectDynamicValue::GetParent(), lldb_private::ValueObjectSynthetic::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::ValueObjectSynthetic::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::ValueObjectRecognizerSynthesizedValue::UpdateValue(), lldb_private::ValueObjectSynthetic::UpdateValue(), ValueObject(), and lldb_private::ValueObjectSynthetic::ValueObjectSynthetic().
|
protected |
Definition at line 1125 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 1068 of file ValueObject.h.
Referenced by GetRoot().
|
protected |
Cached summary string that will get cleared if/when the value is updated.
Definition at line 1088 of file ValueObject.h.
Referenced by ClearUserVisibleData(), and GetSummaryAsCString().
|
protected |
Definition at line 1104 of file ValueObject.h.
Referenced by AddSyntheticChild(), and GetSyntheticChild().
|
protected |
Definition at line 1119 of file ValueObject.h.
Referenced by CalculateSyntheticValue(), GetSyntheticChildren(), HasSyntheticValue(), and SetSyntheticChildren().
|
protected |
Definition at line 1107 of file ValueObject.h.
Referenced by CalculateSyntheticValue(), ClearUserVisibleData(), GetSummaryAsCString(), GetSyntheticValue(), and HasSyntheticValue().
|
protected |
Definition at line 1118 of file ValueObject.h.
Referenced by GetValueAsCString(), GetValueFormat(), and SetValueFormat().
|
protected |
Definition at line 1117 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 1072 of file ValueObject.h.
Referenced by GetExecutionContextRef(), GetFrameSP(), GetIsConstant(), GetProcessSP(), GetTargetSP(), GetThreadSP(), GetUpdatePoint(), GetUpdatePoint(), NeedsUpdating(), SetIsConstant(), SetNeedsUpdate(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), UpdateValueIfNeeded(), ValueObject(), and ValueObject().
|
protected |
Definition at line 1120 of file ValueObject.h.
|
protected |
Definition at line 1077 of file ValueObject.h.
Referenced by Cast(), lldb_private::ValueObjectSynthetic::CopyValueData(), CreateConstantValue(), GetAddressOf(), lldb_private::ValueObjectCast::GetByteSize(), lldb_private::ValueObjectDynamicValue::GetByteSize(), lldb_private::ValueObjectConstResult::GetCompilerTypeImpl(), lldb_private::ValueObjectDynamicValue::GetCompilerTypeImpl(), ValueObjectVTableChild::GetCompilerTypeImpl(), GetData(), GetExpressionPath(), GetLocalBuffer(), GetLocationAsCString(), GetPointeeData(), GetPointerValue(), GetValue(), GetValue(), GetValueAsCString(), ResolveValue(), SetData(), SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectDynamicValue::UpdateValue(), lldb_private::ValueObjectMemory::UpdateValue(), lldb_private::ValueObjectRecognizerSynthesizedValue::UpdateValue(), lldb_private::ValueObjectRegister::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::ValueObjectVTable::UpdateValue(), ValueObjectVTableChild::UpdateValue(), lldb_private::ValueObjectCast::ValueObjectCast(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectConstResult::ValueObjectConstResult(), lldb_private::ValueObjectMemory::ValueObjectMemory(), and lldb_private::ValueObjectMemory::ValueObjectMemory().
|
protected |
Definition at line 1123 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 1082 of file ValueObject.h.
Referenced by ClearUserVisibleData(), GetValueAsCString(), and UpdateValueIfNeeded().