|
LLDB mainline
|
A ValueObject that obtains its children from some source other than real information. More...
#include <ValueObjectSynthetic.h>
Public Member Functions | |
| ~ValueObjectSynthetic () override | |
| llvm::Expected< uint64_t > | GetByteSize () override |
| ConstString | GetTypeName () override |
| ConstString | GetQualifiedTypeName () override |
| ConstString | GetDisplayTypeName () override |
| bool | MightHaveChildren () override |
| Find out if a ValueObject might have children. | |
| llvm::Expected< uint32_t > | CalculateNumChildren (uint32_t max) override |
| Should only be called by ValueObject::GetNumChildren(). | |
| lldb::ValueType | GetValueType () const override |
| lldb::ValueObjectSP | GetChildAtIndex (uint32_t idx, bool can_create=true) override |
| lldb::ValueObjectSP | GetChildMemberWithName (llvm::StringRef name, bool can_create=true) override |
| llvm::Expected< size_t > | GetIndexOfChildWithName (llvm::StringRef name) override |
| lldb::ValueObjectSP | GetDynamicValue (lldb::DynamicValueType valueType) override |
| bool | IsInScope () override |
| bool | HasSyntheticValue () override |
| bool | IsSynthetic () override |
| void | CalculateSyntheticValue () override |
| bool | IsDynamic () override |
| lldb::ValueObjectSP | GetStaticValue () override |
| virtual lldb::DynamicValueType | GetDynamicValueType () |
| lldb::VariableSP | GetVariable () override |
| ValueObject * | GetParent () override |
| const ValueObject * | GetParent () const override |
| lldb::ValueObjectSP | GetNonSyntheticValue () override |
| bool | CanProvideValue () override |
| bool | DoesProvideSyntheticValue () override |
| bool | GetIsConstant () const override |
| bool | SetValueFromCString (const char *value_str, Status &error) override |
| void | SetFormat (lldb::Format format) override |
| lldb::LanguageType | GetPreferredDisplayLanguage () override |
| void | SetPreferredDisplayLanguage (lldb::LanguageType) |
| bool | IsSyntheticChildrenGenerated () override |
| void | SetSyntheticChildrenGenerated (bool b) override |
| bool | GetDeclaration (Declaration &decl) override |
| uint64_t | GetLanguageFlags () override |
| void | SetLanguageFlags (uint64_t flags) override |
| void | GetExpressionPath (Stream &stream, GetExpressionPathFormat epformat=eGetExpressionPathFormatDereferencePointers) override |
| Public Member Functions inherited from lldb_private::ValueObject | |
| 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 () |
| 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) |
| 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 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. | |
| void | SetValueFromInteger (const llvm::APInt &value, Status &error, bool can_update_var=true) |
| Update an existing integer ValueObject with a new integer value. | |
| void | SetValueFromInteger (lldb::ValueObjectSP new_val_sp, Status &error, bool can_update_var=true) |
| Update an existing integer ValueObject with an integer value created frome 'new_val_sp'. | |
| 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, . | |
| const Status & | GetError () |
| ConstString | GetName () const |
| lldb::user_id_t | GetID () const |
| Returns a unique id for this ValueObject. | |
| lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< llvm::StringRef > names) |
| 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 (ConstString 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()) |
| lldb::DynamicValueType | GetDynamicValueType () |
| lldb::ValueObjectSP | GetSyntheticValue () |
| lldb::ValueObjectSP | GetQualifiedRepresentationIfAvailable (lldb::DynamicValueType dynValue, bool synthValue) |
| virtual lldb::ValueObjectSP | CreateConstantValue (ConstString name) |
| virtual lldb::ValueObjectSP | Dereference (Status &error) |
| virtual lldb::ValueObjectSP | Clone (ConstString new_name) |
| Creates a copy of the ValueObject with a new name and setting the current ValueObject as its parent. | |
| virtual lldb::ValueObjectSP | AddressOf (Status &error) |
| virtual lldb::addr_t | GetLiveAddress () |
| virtual void | SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad) |
| 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 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) |
| bool | NeedsUpdating () |
| void | SetIsConstant () |
| lldb::Format | GetFormat () const |
| 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 () |
| ValueObject * | GetNonBaseClassParent () |
| void | SetAddressTypeOfChildren (AddressType at) |
| AddressType | GetAddressTypeOfChildren () |
| void | SetHasCompleteType () |
| virtual bool | IsRuntimeSupportValue () |
| llvm::ArrayRef< uint8_t > | GetLocalBuffer () const |
| Returns the local buffer that this ValueObject points to if it's available. | |
| lldb::ValueObjectSP | CheckValueObjectOwnership (ValueObject *child) |
Protected Types | |
| typedef std::map< uint32_t, ValueObject * > | ByIndexMap |
| typedef std::map< const char *, uint32_t > | NameToIndexMap |
| typedef std::vector< lldb::ValueObjectSP > | SyntheticChildrenCache |
| typedef ByIndexMap::iterator | ByIndexIterator |
| typedef NameToIndexMap::iterator | NameToIndexIterator |
| Protected Types inherited from lldb_private::ValueObject | |
| typedef ClusterManager< ValueObject > | ValueObjectManager |
| using | ValueObjectManagerSP = std::shared_ptr<ValueObjectManager> |
Protected Attributes | |
| lldb::SyntheticChildrenSP | m_synth_sp |
| std::unique_ptr< SyntheticChildrenFrontEnd > | m_synth_filter_up |
| std::mutex | m_child_mutex |
| ByIndexMap | m_children_byindex |
| Guarded by m_child_mutex;. | |
| NameToIndexMap | m_name_toindex |
| Guarded by m_child_mutex;. | |
| SyntheticChildrenCache | m_synthetic_children_cache |
| Guarded by m_child_mutex;. | |
| uint32_t | m_synthetic_children_count |
| ConstString | m_parent_type_name |
| LazyBool | m_might_have_children |
| LazyBool | m_provides_value |
| Protected Attributes inherited from lldb_private::ValueObject | |
| ValueObject * | m_parent = nullptr |
| The parent value object, or nullptr if this has no parent. | |
| ValueObject * | m_root = nullptr |
| The root of the hierarchy for this ValueObject (or nullptr if never calculated). | |
| EvaluationPoint | m_update_point |
| Stores both the stop id and the full context at which this value was last updated. | |
| ConstString | m_name |
| The name of this object. | |
| DataExtractor | m_data |
| A data extractor that can be used to extract the value. | |
| Value | m_value |
| Status | m_error |
| An error object that can describe any errors that occur when updating values. | |
| std::string | m_value_str |
| Cached value string that will get cleared if/when the value is updated. | |
| std::string | m_old_value_str |
| Cached old value string from the last time the value was gotten. | |
| std::string | m_location_str |
| Cached location string that will get cleared if/when the value is updated. | |
| std::string | m_summary_str |
| Cached summary string that will get cleared if/when the value is updated. | |
| std::string | m_object_desc_str |
| Cached result of the "object printer". | |
| CompilerType | m_override_type |
| If the type of the value object should be overridden, the type to impose. | |
| ValueObjectManager * | m_manager = nullptr |
| This object is managed by the root object (any ValueObject that gets created without a parent.) The manager gets passed through all the generations of dependent objects, and will keep the whole cluster of objects alive as long as a shared pointer to any of them has been handed out. | |
| ChildrenManager | m_children |
| std::map< ConstString, ValueObject * > | m_synthetic_children |
| ValueObject * | m_dynamic_value = nullptr |
| ValueObject * | m_synthetic_value = nullptr |
| ValueObject * | m_deref_valobj = nullptr |
| lldb::ValueObjectSP | m_addr_of_valobj_sp |
| We have to hold onto a shared pointer to this one because it is created as an independent ValueObjectConstResult, which isn't managed by us. | |
| lldb::Format | m_format = lldb::eFormatDefault |
| lldb::Format | m_last_format = lldb::eFormatDefault |
| uint32_t | m_last_format_mgr_revision = 0 |
| lldb::TypeSummaryImplSP | m_type_summary_sp |
| lldb::TypeFormatImplSP | m_type_format_sp |
| lldb::SyntheticChildrenSP | m_synthetic_children_sp |
| ProcessModID | m_user_id_of_forced_summary |
| AddressType | m_address_type_of_ptr_or_ref_children = eAddressTypeInvalid |
| llvm::SmallVector< uint8_t, 16 > | m_value_checksum |
| lldb::LanguageType | m_preferred_display_language = lldb::eLanguageTypeUnknown |
| uint64_t | m_language_flags = 0 |
| UserID | m_id |
| Unique identifier for every value object. | |
| struct lldb_private::ValueObject::Bitflags | m_flags |
Private Member Functions | |
| ValueObjectSynthetic (ValueObject &parent, lldb::SyntheticChildrenSP filter) | |
| void | CopyValueData (ValueObject *source) |
| ValueObjectSynthetic (const ValueObjectSynthetic &)=delete | |
| const ValueObjectSynthetic & | operator= (const ValueObjectSynthetic &)=delete |
Friends | |
| class | ValueObject |
A ValueObject that obtains its children from some source other than real information.
This is currently used to implement Python-based children and filters but you can bind it to any source of synthetic information and have it behave accordingly.
Definition at line 36 of file ValueObjectSynthetic.h.
|
protected |
Definition at line 151 of file ValueObjectSynthetic.h.
|
protected |
Definition at line 147 of file ValueObjectSynthetic.h.
|
protected |
Definition at line 152 of file ValueObjectSynthetic.h.
|
protected |
Definition at line 148 of file ValueObjectSynthetic.h.
|
protected |
Definition at line 149 of file ValueObjectSynthetic.h.
|
overridedefault |
|
private |
Definition at line 56 of file ValueObjectSynthetic.cpp.
References CopyValueData(), CreateSynthFilter(), lldb_private::eLazyBoolCalculate, lldb_private::ValueObject::GetName(), GetTypeName(), m_children_byindex, m_might_have_children, m_name_toindex, lldb_private::ValueObject::m_parent, m_parent_type_name, m_provides_value, m_synth_sp, m_synthetic_children_cache, m_synthetic_children_count, lldb_private::ValueObject::SetName(), UINT32_MAX, and ValueObject.
Referenced by operator=(), and ValueObjectSynthetic().
|
privatedelete |
References ValueObjectSynthetic().
|
overridevirtual |
Should only be called by ValueObject::GetNumChildren().
Implements lldb_private::ValueObject.
Definition at line 93 of file ValueObjectSynthetic.cpp.
References lldb_private::DataFormatters, lldb_private::GetLog(), lldb_private::ValueObject::GetName(), GetTypeName(), LLDB_LOG, m_synth_filter_up, m_synthetic_children_count, UINT32_MAX, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 71 of file ValueObjectSynthetic.h.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 400 of file ValueObjectSynthetic.cpp.
References lldb_private::eLazyBoolYes, lldb_private::ValueObject::m_parent, m_provides_value, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
inlineoverrideprotectedvirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 134 of file ValueObjectSynthetic.h.
References lldb_private::eLazyBoolYes.
|
private |
Definition at line 392 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::ValueObject::GetModule(), lldb_private::ValueObject::GetValue(), lldb_private::ValueObject::m_data, lldb_private::ValueObject::m_error, lldb_private::ValueObject::m_value, lldb_private::ValueObject::UpdateValueIfNeeded(), and ValueObject.
Referenced by UpdateValue(), and ValueObjectSynthetic().
|
protectedvirtual |
Definition at line 146 of file ValueObjectSynthetic.cpp.
References error(), lldb_private::CompilerType::IsPointerOrReferenceType(), lldb_private::CompilerType::IsValid(), lldb_private::ValueObject::m_parent, m_synth_filter_up, m_synth_sp, and ValueObject.
Referenced by UpdateValue(), and ValueObjectSynthetic().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 102 of file ValueObjectSynthetic.h.
References lldb_private::eLazyBoolYes, m_provides_value, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
overridevirtual |
Implements lldb_private::ValueObject.
Definition at line 138 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 246 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::CheckValueObjectOwnership(), lldb_private::DataFormatters, lldb_private::GetLog(), lldb_private::ValueObject::GetName(), GetPreferredDisplayLanguage(), lldb_private::ValueObject::GetSP(), LLDB_LOG, m_child_mutex, m_children_byindex, m_synth_filter_up, m_synthetic_children_cache, lldb_private::ValueObject::UpdateValueIfNeeded(), and ValueObject.
Referenced by GetChildMemberWithName().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 325 of file ValueObjectSynthetic.cpp.
References GetChildAtIndex(), GetIndexOfChildWithName(), and lldb_private::ValueObject::UpdateValueIfNeeded().
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 73 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 450 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::GetDeclaration(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 85 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent, and m_synth_filter_up.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 123 of file ValueObjectSynthetic.cpp.
References GetDynamicValueType(), lldb_private::ValueObject::GetSP(), IsDynamic(), and lldb_private::ValueObject::m_parent.
|
inlinevirtual |
Definition at line 81 of file ValueObjectSynthetic.h.
References lldb::eNoDynamicValues, and lldb_private::ValueObject::m_parent.
Referenced by GetDynamicValue().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 470 of file ValueObjectSynthetic.cpp.
References lldb::eValueTypeRegister, lldb::eValueTypeRegisterSet, lldb_private::ValueObject::GetExpressionPath(), GetNonSyntheticValue(), GetValueType(), and IsSynthetic().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 340 of file ValueObjectSynthetic.cpp.
References lldb_private::formatters::ExtractIndexFromString(), lldb_private::ConstString::GetCString(), lldb_private::ValueObject::GetNumChildrenIgnoringErrors(), m_child_mutex, m_name_toindex, m_synth_filter_up, m_synth_sp, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by GetChildMemberWithName().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 106 of file ValueObjectSynthetic.h.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 457 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::GetLanguageFlags(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 388 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
Referenced by GetExpressionPath().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 94 of file ValueObjectSynthetic.h.
References lldb_private::ValueObject::m_parent, and ValueObject.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 90 of file ValueObjectSynthetic.h.
References lldb_private::ValueObject::m_parent, and ValueObject.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 429 of file ValueObjectSynthetic.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::m_preferred_display_language.
Referenced by GetChildAtIndex().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 81 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 77 of file ValueObjectSynthetic.h.
References lldb_private::ValueObject::GetSP(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 77 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
Referenced by CalculateNumChildren(), and ValueObjectSynthetic().
|
overridevirtual |
Implements lldb_private::ValueObject.
Definition at line 142 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
Referenced by GetExpressionPath().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 86 of file ValueObjectSynthetic.h.
References lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 67 of file ValueObjectSynthetic.h.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 73 of file ValueObjectSynthetic.h.
References lldb_private::ValueObject::m_parent.
Referenced by GetDynamicValue().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 386 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 69 of file ValueObjectSynthetic.h.
Referenced by GetExpressionPath().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 438 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent.
|
overridevirtual |
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 from lldb_private::ValueObject.
Definition at line 131 of file ValueObjectSynthetic.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, m_might_have_children, and m_synth_filter_up.
|
privatedelete |
References ValueObjectSynthetic().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 413 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::ClearUserVisibleData(), lldb_private::ValueObject::eClearUserVisibleDataItemsAll, lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetFormat().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 463 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetLanguageFlags().
| void ValueObjectSynthetic::SetPreferredDisplayLanguage | ( | lldb::LanguageType | lang | ) |
Definition at line 422 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetPreferredDisplayLanguage().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 444 of file ValueObjectSynthetic.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetSyntheticChildrenGenerated().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 408 of file ValueObjectSynthetic.cpp.
References error(), and lldb_private::ValueObject::m_parent.
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 162 of file ValueObjectSynthetic.cpp.
References CopyValueData(), CreateSynthFilter(), lldb_private::DataFormatters, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb::eRefetch, lldb_private::GetLog(), lldb_private::ValueObject::GetName(), LLDB_LOG, m_child_mutex, m_children_byindex, lldb_private::ValueObject::m_error, lldb_private::ValueObject::m_flags, m_might_have_children, m_name_toindex, lldb_private::ValueObject::m_parent, m_parent_type_name, m_provides_value, m_synth_filter_up, m_synthetic_children_cache, m_synthetic_children_count, lldb_private::ValueObject::SetValueIsValid(), and UINT32_MAX.
|
friend |
Definition at line 173 of file ValueObjectSynthetic.h.
References ValueObject.
Referenced by CopyValueData(), CreateSynthFilter(), GetChildAtIndex(), GetParent(), GetParent(), ValueObject, and ValueObjectSynthetic().
|
protected |
Definition at line 154 of file ValueObjectSynthetic.h.
Referenced by GetChildAtIndex(), GetIndexOfChildWithName(), and UpdateValue().
|
protected |
Guarded by m_child_mutex;.
Definition at line 156 of file ValueObjectSynthetic.h.
Referenced by GetChildAtIndex(), UpdateValue(), and ValueObjectSynthetic().
|
protected |
Definition at line 168 of file ValueObjectSynthetic.h.
Referenced by MightHaveChildren(), UpdateValue(), and ValueObjectSynthetic().
|
protected |
Guarded by m_child_mutex;.
Definition at line 158 of file ValueObjectSynthetic.h.
Referenced by GetIndexOfChildWithName(), UpdateValue(), and ValueObjectSynthetic().
|
protected |
Definition at line 166 of file ValueObjectSynthetic.h.
Referenced by UpdateValue(), and ValueObjectSynthetic().
|
protected |
Definition at line 170 of file ValueObjectSynthetic.h.
Referenced by CanProvideValue(), DoesProvideSyntheticValue(), UpdateValue(), and ValueObjectSynthetic().
|
protected |
Definition at line 145 of file ValueObjectSynthetic.h.
Referenced by CalculateNumChildren(), CreateSynthFilter(), GetChildAtIndex(), GetDisplayTypeName(), GetIndexOfChildWithName(), MightHaveChildren(), and UpdateValue().
|
protected |
Definition at line 144 of file ValueObjectSynthetic.h.
Referenced by CreateSynthFilter(), GetIndexOfChildWithName(), and ValueObjectSynthetic().
|
protected |
Guarded by m_child_mutex;.
Definition at line 160 of file ValueObjectSynthetic.h.
Referenced by GetChildAtIndex(), UpdateValue(), and ValueObjectSynthetic().
|
protected |
Definition at line 164 of file ValueObjectSynthetic.h.
Referenced by CalculateNumChildren(), UpdateValue(), and ValueObjectSynthetic().