LLDB mainline
|
A ValueObject that obtains its children from some source other than real information. More...
#include <ValueObjectSyntheticFilter.h>
Public Member Functions | |
~ValueObjectSynthetic () override | |
std::optional< uint64_t > | GetByteSize () override |
ConstString | GetTypeName () override |
ConstString | GetQualifiedTypeName () override |
ConstString | GetDisplayTypeName () override |
bool | MightHaveChildren () override |
Find out if a ValueObject might have children. | |
size_t | CalculateNumChildren (uint32_t max) override |
Should only be called by ValueObject::GetNumChildren(). | |
lldb::ValueType | GetValueType () const override |
lldb::ValueObjectSP | GetChildAtIndex (size_t idx, bool can_create) override |
lldb::ValueObjectSP | GetChildMemberWithName (ConstString name, bool can_create) override |
size_t | GetIndexOfChildWithName (ConstString 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 () |
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 |
![]() | |
virtual | ~ValueObject () |
const EvaluationPoint & | GetUpdatePoint () const |
EvaluationPoint & | GetUpdatePoint () |
const ExecutionContextRef & | GetExecutionContextRef () const |
lldb::TargetSP | GetTargetSP () const |
lldb::ProcessSP | GetProcessSP () const |
lldb::ThreadSP | GetThreadSP () const |
lldb::StackFrameSP | GetFrameSP () const |
void | SetNeedsUpdate () |
CompilerType | GetCompilerType () |
virtual TypeImpl | GetTypeImpl () |
virtual bool | CanProvideValue () |
virtual std::optional< uint64_t > | GetByteSize ()=0 |
virtual lldb::ValueType | GetValueType () const =0 |
virtual ConstString | GetTypeName () |
virtual ConstString | GetDisplayTypeName () |
virtual ConstString | GetQualifiedTypeName () |
virtual lldb::LanguageType | GetObjectRuntimeLanguage () |
virtual uint32_t | GetTypeInfo (CompilerType *pointee_or_element_compiler_type=nullptr) |
virtual bool | IsPointerType () |
virtual bool | IsArrayType () |
virtual bool | IsScalarType () |
virtual bool | IsPointerOrReferenceType () |
virtual bool | IsPossibleDynamicType () |
bool | IsNilReference () |
bool | IsUninitializedReference () |
virtual bool | IsBaseClass () |
bool | IsBaseClass (uint32_t &depth) |
virtual bool | IsDereferenceOfParent () |
bool | IsIntegerType (bool &is_signed) |
virtual void | GetExpressionPath (Stream &s, GetExpressionPathFormat=eGetExpressionPathFormatDereferencePointers) |
lldb::ValueObjectSP | GetValueForExpressionPath (llvm::StringRef expression, ExpressionPathScanEndReason *reason_to_stop=nullptr, ExpressionPathEndResultType *final_value_type=nullptr, const GetValueForExpressionPathOptions &options=GetValueForExpressionPathOptions::DefaultOptions(), ExpressionPathAftermath *final_task_on_target=nullptr) |
virtual bool | IsInScope () |
virtual lldb::offset_t | GetByteOffset () |
virtual uint32_t | GetBitfieldBitSize () |
virtual uint32_t | GetBitfieldBitOffset () |
bool | IsBitfield () |
virtual bool | IsArrayItemForPointer () |
virtual const char * | GetValueAsCString () |
virtual bool | GetValueAsCString (const lldb_private::TypeFormatImpl &format, std::string &destination) |
bool | GetValueAsCString (lldb::Format format, std::string &destination) |
virtual uint64_t | GetValueAsUnsigned (uint64_t fail_value, bool *success=nullptr) |
virtual int64_t | GetValueAsSigned (int64_t fail_value, bool *success=nullptr) |
virtual bool | SetValueFromCString (const char *value_str, Status &error) |
virtual lldb::ModuleSP | GetModule () |
Return the module associated with this value object in case the value is from an executable file and might have its data in sections of the file. | |
ValueObject * | GetRoot () |
ValueObject * | FollowParentChain (std::function< bool(ValueObject *)>) |
Given a ValueObject, loop over itself and its parent, and its parent's parent, . | |
virtual bool | GetDeclaration (Declaration &decl) |
const Status & | GetError () |
ConstString | GetName () const |
lldb::user_id_t | GetID () const |
Returns a unique id for this ValueObject. | |
virtual lldb::ValueObjectSP | GetChildAtIndex (size_t idx, bool can_create) |
lldb::ValueObjectSP | GetChildAtIndexPath (llvm::ArrayRef< size_t > idxs, size_t *index_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtIndexPath (llvm::ArrayRef< std::pair< size_t, bool > > idxs, size_t *index_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< ConstString > names, ConstString *name_of_error=nullptr) |
lldb::ValueObjectSP | GetChildAtNamePath (llvm::ArrayRef< std::pair< ConstString, bool > > names, ConstString *name_of_error=nullptr) |
virtual lldb::ValueObjectSP | GetChildMemberWithName (ConstString name, bool can_create) |
virtual size_t | GetIndexOfChildWithName (ConstString name) |
size_t | GetNumChildren (uint32_t max=UINT32_MAX) |
const Value & | GetValue () const |
Value & | GetValue () |
virtual bool | ResolveValue (Scalar &scalar) |
virtual bool | IsLogicalTrue (Status &error) |
virtual const char * | GetLocationAsCString () |
const char * | GetSummaryAsCString (lldb::LanguageType lang=lldb::eLanguageTypeUnknown) |
bool | GetSummaryAsCString (TypeSummaryImpl *summary_ptr, std::string &destination, lldb::LanguageType lang=lldb::eLanguageTypeUnknown) |
bool | GetSummaryAsCString (std::string &destination, const TypeSummaryOptions &options) |
bool | GetSummaryAsCString (TypeSummaryImpl *summary_ptr, std::string &destination, const TypeSummaryOptions &options) |
const char * | GetObjectDescription () |
bool | HasSpecialPrintableRepresentation (ValueObjectRepresentationStyle val_obj_display, lldb::Format custom_format) |
bool | DumpPrintableRepresentation (Stream &s, ValueObjectRepresentationStyle val_obj_display=eValueObjectRepresentationStyleSummary, lldb::Format custom_format=lldb::eFormatInvalid, PrintableRepresentationSpecialCases special=PrintableRepresentationSpecialCases::eAllow, bool do_dump_error=true) |
bool | GetValueIsValid () const |
bool | GetValueDidChange () |
bool | UpdateValueIfNeeded (bool update_format=true) |
bool | UpdateFormatsIfNeeded () |
lldb::ValueObjectSP | GetSP () |
void | SetName (ConstString name) |
Change the name of the current ValueObject. | |
virtual lldb::addr_t | GetAddressOf (bool scalar_is_load_address=true, AddressType *address_type=nullptr) |
lldb::addr_t | GetPointerValue (AddressType *address_type=nullptr) |
lldb::ValueObjectSP | GetSyntheticChild (ConstString key) const |
lldb::ValueObjectSP | GetSyntheticArrayMember (size_t index, bool can_create) |
lldb::ValueObjectSP | GetSyntheticBitFieldChild (uint32_t from, uint32_t to, bool can_create) |
lldb::ValueObjectSP | GetSyntheticExpressionPathChild (const char *expression, bool can_create) |
virtual lldb::ValueObjectSP | GetSyntheticChildAtOffset (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) |
virtual lldb::ValueObjectSP | GetSyntheticBase (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) |
virtual lldb::ValueObjectSP | GetDynamicValue (lldb::DynamicValueType valueType) |
lldb::DynamicValueType | GetDynamicValueType () |
virtual lldb::ValueObjectSP | GetStaticValue () |
virtual lldb::ValueObjectSP | GetNonSyntheticValue () |
lldb::ValueObjectSP | GetSyntheticValue () |
virtual bool | HasSyntheticValue () |
virtual bool | IsSynthetic () |
lldb::ValueObjectSP | GetQualifiedRepresentationIfAvailable (lldb::DynamicValueType dynValue, bool synthValue) |
virtual lldb::ValueObjectSP | CreateConstantValue (ConstString name) |
virtual lldb::ValueObjectSP | Dereference (Status &error) |
virtual lldb::ValueObjectSP | Clone (ConstString new_name) |
Creates a copy of the ValueObject with a new name and setting the current ValueObject as its parent. | |
virtual lldb::ValueObjectSP | AddressOf (Status &error) |
virtual lldb::addr_t | GetLiveAddress () |
virtual void | SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad) |
virtual lldb::ValueObjectSP | Cast (const CompilerType &compiler_type) |
virtual lldb::ValueObjectSP | CastPointerType (const char *name, CompilerType &ast_type) |
virtual lldb::ValueObjectSP | CastPointerType (const char *name, lldb::TypeSP &type_sp) |
virtual void | ValueUpdated () |
virtual bool | IsDynamic () |
virtual bool | DoesProvideSyntheticValue () |
virtual bool | IsSyntheticChildrenGenerated () |
virtual void | SetSyntheticChildrenGenerated (bool b) |
virtual SymbolContextScope * | GetSymbolContextScope () |
void | Dump (Stream &s) |
void | Dump (Stream &s, const DumpValueObjectOptions &options) |
lldb::ValueObjectSP | Persist () |
bool | IsCStringContainer (bool check_pointer=false) |
Returns true if this is a char* or a char[] if it is a char* and check_pointer is true, it also checks that the pointer is valid. | |
std::pair< size_t, bool > | ReadPointedString (lldb::WritableDataBufferSP &buffer_sp, Status &error, uint32_t max_length=0, bool honor_array=true, lldb::Format item_format=lldb::eFormatCharArray) |
virtual size_t | GetPointeeData (DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) |
virtual uint64_t | GetData (DataExtractor &data, Status &error) |
virtual bool | SetData (DataExtractor &data, Status &error) |
virtual bool | GetIsConstant () const |
bool | NeedsUpdating () |
void | SetIsConstant () |
lldb::Format | GetFormat () const |
virtual void | SetFormat (lldb::Format format) |
virtual lldb::LanguageType | GetPreferredDisplayLanguage () |
void | SetPreferredDisplayLanguage (lldb::LanguageType lt) |
lldb::TypeSummaryImplSP | GetSummaryFormat () |
void | SetSummaryFormat (lldb::TypeSummaryImplSP format) |
void | SetValueFormat (lldb::TypeFormatImplSP format) |
lldb::TypeFormatImplSP | GetValueFormat () |
void | SetSyntheticChildren (const lldb::SyntheticChildrenSP &synth_sp) |
lldb::SyntheticChildrenSP | GetSyntheticChildren () |
virtual ValueObject * | GetParent () |
virtual const ValueObject * | GetParent () const |
ValueObject * | GetNonBaseClassParent () |
void | SetAddressTypeOfChildren (AddressType at) |
AddressType | GetAddressTypeOfChildren () |
void | SetHasCompleteType () |
virtual bool | MightHaveChildren () |
Find out if a ValueObject might have children. | |
virtual lldb::VariableSP | GetVariable () |
virtual bool | IsRuntimeSupportValue () |
virtual uint64_t | GetLanguageFlags () |
virtual void | SetLanguageFlags (uint64_t flags) |
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 |
![]() | |
typedef ClusterManager< ValueObject > | 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 |
![]() | |
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 ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 141 of file ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 137 of file ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 142 of file ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 138 of file ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 139 of file ValueObjectSyntheticFilter.h.
|
overridedefault |
|
private |
Definition at line 48 of file ValueObjectSyntheticFilter.cpp.
References CopyValueData(), CreateSynthFilter(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetName(), lldb_private::CompilerType::IsCompleteType(), lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetName().
|
privatedelete |
|
overridevirtual |
Should only be called by ValueObject::GetNumChildren().
Implements lldb_private::ValueObject.
Definition at line 84 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::DataFormatters, lldb_private::GetLog(), lldb_private::ValueObject::GetName(), GetTypeName(), LLDB_LOGF, m_synth_filter_up, m_synthetic_children_count, UINT32_MAX, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 70 of file ValueObjectSyntheticFilter.h.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 359 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::CanProvideValue(), 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 124 of file ValueObjectSyntheticFilter.h.
References lldb_private::eLazyBoolYes.
|
private |
Definition at line 353 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::ValueObject::GetModule(), lldb_private::ValueObject::GetValue(), lldb_private::Value::GetValueAsData(), lldb_private::ValueObject::m_data, lldb_private::ValueObject::m_error, lldb_private::ValueObject::m_value, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by UpdateValue(), and ValueObjectSynthetic().
|
protectedvirtual |
Definition at line 133 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::Dereference(), error(), lldb_private::ValueObject::GetCompilerType(), lldb_private::CompilerType::IsPointerOrReferenceType(), lldb_private::CompilerType::IsValid(), lldb_private::ValueObject::m_parent, m_synth_filter_up, and m_synth_sp.
Referenced by UpdateValue(), and ValueObjectSynthetic().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 97 of file ValueObjectSyntheticFilter.h.
References lldb_private::eLazyBoolYes, m_provides_value, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
overridevirtual |
Implements lldb_private::ValueObject.
Definition at line 125 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetByteSize(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 236 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::DataFormatters, lldb_private::GetLog(), lldb_private::ValueObject::GetName(), GetPreferredDisplayLanguage(), lldb_private::ValueObject::GetSP(), LLDB_LOGF, m_child_mutex, m_children_byindex, m_synth_filter_up, m_synthetic_children_cache, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by GetChildMemberWithName().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 309 of file ValueObjectSyntheticFilter.cpp.
References GetChildAtIndex(), GetIndexOfChildWithName(), UINT32_MAX, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 65 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetCompilerType(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 409 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetDeclaration(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 77 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetDisplayTypeName(), lldb_private::ValueObject::m_parent, and m_synth_filter_up.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 110 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetDynamicValue(), GetDynamicValueType(), lldb_private::ValueObject::GetSP(), IsDynamic(), and lldb_private::ValueObject::m_parent.
|
inlinevirtual |
Definition at line 80 of file ValueObjectSyntheticFilter.h.
References lldb::eNoDynamicValues, lldb_private::ValueObject::GetDynamicValueType(), and lldb_private::ValueObject::m_parent.
Referenced by GetDynamicValue().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 321 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ConstString::GetCString(), m_child_mutex, m_name_toindex, m_synth_filter_up, UINT32_MAX, and lldb_private::ValueObject::UpdateValueIfNeeded().
Referenced by GetChildMemberWithName().
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 101 of file ValueObjectSyntheticFilter.h.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 416 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetLanguageFlags(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 349 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetSP(), and lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 89 of file ValueObjectSyntheticFilter.h.
References lldb_private::ValueObject::GetParent(), and lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 85 of file ValueObjectSyntheticFilter.h.
References lldb_private::ValueObject::GetParent(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 388 of file ValueObjectSyntheticFilter.cpp.
References lldb::eLanguageTypeUnknown, lldb_private::ValueObject::GetPreferredDisplayLanguage(), 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 73 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetQualifiedTypeName(), and lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 76 of file ValueObjectSyntheticFilter.h.
References lldb_private::ValueObject::GetSP(), lldb_private::ValueObject::GetStaticValue(), and lldb_private::ValueObject::m_parent.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 69 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetTypeName(), and lldb_private::ValueObject::m_parent.
Referenced by CalculateNumChildren().
|
overridevirtual |
Implements lldb_private::ValueObject.
Definition at line 129 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::GetValueType(), and lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 66 of file ValueObjectSyntheticFilter.h.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 72 of file ValueObjectSyntheticFilter.h.
References lldb_private::ValueObject::IsDynamic(), and lldb_private::ValueObject::m_parent.
Referenced by GetDynamicValue().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 347 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::IsInScope(), and lldb_private::ValueObject::m_parent.
|
inlineoverridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 68 of file ValueObjectSyntheticFilter.h.
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 397 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::IsSyntheticChildrenGenerated(), and 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 118 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, m_might_have_children, and m_synth_filter_up.
|
privatedelete |
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 372 of file ValueObjectSyntheticFilter.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 422 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetLanguageFlags().
void ValueObjectSynthetic::SetPreferredDisplayLanguage | ( | lldb::LanguageType | lang | ) |
Definition at line 381 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetPreferredDisplayLanguage().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 403 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetSyntheticChildrenGenerated().
|
overridevirtual |
Reimplemented from lldb_private::ValueObject.
Definition at line 367 of file ValueObjectSyntheticFilter.cpp.
References error(), lldb_private::ValueObject::m_parent, and lldb_private::ValueObject::SetValueFromCString().
|
overrideprotectedvirtual |
Implements lldb_private::ValueObject.
Definition at line 151 of file ValueObjectSyntheticFilter.cpp.
References lldb_private::ConstString::AsCString(), lldb_private::Status::Clear(), CopyValueData(), CreateSynthFilter(), lldb_private::DataFormatters, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::Status::Fail(), lldb_private::ValueObject::GetCompilerType(), lldb_private::ValueObject::GetError(), lldb_private::GetLog(), lldb_private::ValueObject::GetName(), lldb_private::ValueObject::GetTypeName(), lldb_private::CompilerType::IsCompleteType(), LLDB_LOGF, m_child_mutex, m_children_byindex, lldb_private::ValueObject::Bitflags::m_children_count_valid, 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(), UINT32_MAX, and lldb_private::ValueObject::UpdateValueIfNeeded().
|
friend |
Definition at line 163 of file ValueObjectSyntheticFilter.h.
|
protected |
Definition at line 144 of file ValueObjectSyntheticFilter.h.
Referenced by GetChildAtIndex(), GetIndexOfChildWithName(), and UpdateValue().
|
protected |
Guarded by m_child_mutex;.
Definition at line 146 of file ValueObjectSyntheticFilter.h.
Referenced by GetChildAtIndex(), and UpdateValue().
|
protected |
Definition at line 158 of file ValueObjectSyntheticFilter.h.
Referenced by MightHaveChildren(), and UpdateValue().
|
protected |
Guarded by m_child_mutex;.
Definition at line 148 of file ValueObjectSyntheticFilter.h.
Referenced by GetIndexOfChildWithName(), and UpdateValue().
|
protected |
Definition at line 156 of file ValueObjectSyntheticFilter.h.
Referenced by UpdateValue().
|
protected |
Definition at line 160 of file ValueObjectSyntheticFilter.h.
Referenced by CanProvideValue(), DoesProvideSyntheticValue(), and UpdateValue().
|
protected |
Definition at line 135 of file ValueObjectSyntheticFilter.h.
Referenced by CalculateNumChildren(), CreateSynthFilter(), GetChildAtIndex(), GetDisplayTypeName(), GetIndexOfChildWithName(), MightHaveChildren(), and UpdateValue().
|
protected |
Definition at line 134 of file ValueObjectSyntheticFilter.h.
Referenced by CreateSynthFilter().
|
protected |
Guarded by m_child_mutex;.
Definition at line 150 of file ValueObjectSyntheticFilter.h.
Referenced by GetChildAtIndex(), and UpdateValue().
|
protected |
Definition at line 154 of file ValueObjectSyntheticFilter.h.
Referenced by CalculateNumChildren(), and UpdateValue().