|
| ValueObjectRecognizerSynthesizedValue (ValueObject &parent, lldb::ValueType type) |
|
std::optional< uint64_t > | GetByteSize () override |
|
lldb::ValueType | GetValueType () const override |
|
bool | UpdateValue () override |
|
size_t | CalculateNumChildren (uint32_t max=UINT32_MAX) override |
| Should only be called by ValueObject::GetNumChildren().
|
|
CompilerType | GetCompilerTypeImpl () override |
|
bool | IsSynthetic () 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 () |
|
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 () |
|
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 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=true) |
|
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< llvm::StringRef > names) |
|
virtual lldb::ValueObjectSP | GetChildMemberWithName (llvm::StringRef name, bool can_create=true) |
|
virtual size_t | GetIndexOfChildWithName (llvm::StringRef 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) |
|
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) |
|
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) |
|
|
enum | GetExpressionPathFormat { eGetExpressionPathFormatDereferencePointers = 1
, eGetExpressionPathFormatHonorPointers
} |
|
enum | ValueObjectRepresentationStyle {
eValueObjectRepresentationStyleValue = 1
, eValueObjectRepresentationStyleSummary
, eValueObjectRepresentationStyleLanguageSpecific
, eValueObjectRepresentationStyleLocation
,
eValueObjectRepresentationStyleChildrenCount
, eValueObjectRepresentationStyleType
, eValueObjectRepresentationStyleName
, eValueObjectRepresentationStyleExpressionPath
} |
|
enum | ExpressionPathScanEndReason {
eExpressionPathScanEndReasonEndOfString = 1
, eExpressionPathScanEndReasonNoSuchChild
, eExpressionPathScanEndReasonNoSuchSyntheticChild
, eExpressionPathScanEndReasonEmptyRangeNotAllowed
,
eExpressionPathScanEndReasonDotInsteadOfArrow
, eExpressionPathScanEndReasonArrowInsteadOfDot
, eExpressionPathScanEndReasonFragileIVarNotAllowed
, eExpressionPathScanEndReasonRangeOperatorNotAllowed
,
eExpressionPathScanEndReasonRangeOperatorInvalid
, eExpressionPathScanEndReasonArrayRangeOperatorMet
, eExpressionPathScanEndReasonBitfieldRangeOperatorMet
, eExpressionPathScanEndReasonUnexpectedSymbol
,
eExpressionPathScanEndReasonTakingAddressFailed
, eExpressionPathScanEndReasonDereferencingFailed
, eExpressionPathScanEndReasonRangeOperatorExpanded
, eExpressionPathScanEndReasonSyntheticValueMissing
,
eExpressionPathScanEndReasonUnknown = 0xFFFF
} |
|
enum | ExpressionPathEndResultType {
eExpressionPathEndResultTypePlain = 1
, eExpressionPathEndResultTypeBitfield
, eExpressionPathEndResultTypeBoundedRange
, eExpressionPathEndResultTypeUnboundedRange
,
eExpressionPathEndResultTypeValueObjectList
, eExpressionPathEndResultTypeInvalid = 0xFFFF
} |
|
enum | ExpressionPathAftermath { eExpressionPathAftermathNothing = 1
, eExpressionPathAftermathDereference
, eExpressionPathAftermathTakeAddress
} |
|
enum | ClearUserVisibleDataItems {
eClearUserVisibleDataItemsNothing = 1u << 0
, eClearUserVisibleDataItemsValue = 1u << 1
, eClearUserVisibleDataItemsSummary = 1u << 2
, eClearUserVisibleDataItemsLocation = 1u << 3
,
eClearUserVisibleDataItemsDescription = 1u << 4
, eClearUserVisibleDataItemsSyntheticChildren = 1u << 5
, eClearUserVisibleDataItemsAllStrings
, eClearUserVisibleDataItemsAll = 0xFFFF
} |
|
enum class | PrintableRepresentationSpecialCases : bool { eDisable = false
, eAllow = true
} |
|
typedef ClusterManager< ValueObject > | ValueObjectManager |
|
| ValueObject (ExecutionContextScope *exe_scope, ValueObjectManager &manager, AddressType child_ptr_or_ref_addr_type=eAddressTypeLoad) |
| Use this constructor to create a "root variable object".
|
|
| ValueObject (ValueObject &parent) |
| Use this constructor to create a ValueObject owned by another ValueObject.
|
|
ValueObjectManager * | GetManager () |
|
virtual bool | UpdateValue ()=0 |
|
virtual LazyBool | CanUpdateWithInvalidExecutionContext () |
|
virtual void | CalculateDynamicValue (lldb::DynamicValueType use_dynamic) |
|
virtual lldb::DynamicValueType | GetDynamicValueTypeImpl () |
|
virtual bool | HasDynamicValueTypeInfo () |
|
virtual void | CalculateSyntheticValue () |
|
virtual ValueObject * | CreateChildAtIndex (size_t idx, bool synthetic_array_member, int32_t synthetic_index) |
| Should only be called by ValueObject::GetChildAtIndex().
|
|
virtual size_t | CalculateNumChildren (uint32_t max=UINT32_MAX)=0 |
| Should only be called by ValueObject::GetNumChildren().
|
|
void | SetNumChildren (size_t num_children) |
|
void | SetValueDidChange (bool value_changed) |
|
void | SetValueIsValid (bool valid) |
|
void | ClearUserVisibleData (uint32_t items=ValueObject::eClearUserVisibleDataItemsAllStrings) |
|
void | AddSyntheticChild (ConstString key, ValueObject *valobj) |
|
DataExtractor & | GetDataExtractor () |
|
void | ClearDynamicTypeInformation () |
|
virtual CompilerType | GetCompilerTypeImpl ()=0 |
|
const char * | GetLocationAsCStringImpl (const Value &value, const DataExtractor &data) |
|
bool | IsChecksumEmpty () |
|
void | SetPreferredDisplayLanguageIfNeeded (lldb::LanguageType) |
|
virtual void | DoUpdateChildrenAddressType (ValueObject &valobj) |
|
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 |
|
ValueObject subclass that presents the passed ValueObject as a recognized value with the specified ValueType.
Frame recognizers should return instances of this class as the returned objects in GetRecognizedArguments().
Definition at line 147 of file StackFrameRecognizer.h.