LLDB  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
lldb_private::ValueObject Class Referenceabstract

ValueObject: More...

#include <ValueObject.h>

Inheritance diagram for lldb_private::ValueObject:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::ValueObject:
Collaboration graph
[legend]

Classes

class  ChildrenManager
 
class  EvaluationPoint
 
struct  GetValueForExpressionPathOptions
 

Public Types

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, eClearUserVisibleDataItemsValidator = 1u << 6, eClearUserVisibleDataItemsAllStrings,
  eClearUserVisibleDataItemsAll = 0xFFFF
}
 
enum  PrintableRepresentationSpecialCases : bool { PrintableRepresentationSpecialCases::eDisable = false, PrintableRepresentationSpecialCases::eAllow = true }
 

Public Member Functions

virtual ~ValueObject ()
 
const EvaluationPointGetUpdatePoint () const
 
EvaluationPointGetUpdatePoint ()
 
const ExecutionContextRefGetExecutionContextRef () 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 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 bool GetBaseClassPath (Stream &s)
 
virtual void GetExpressionPath (Stream &s, bool qualify_cxx_base_classes, 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 ()
 
ValueObjectGetRoot ()
 
ValueObjectFollowParentChain (std::function< bool(ValueObject *)>)
 
virtual bool GetDeclaration (Declaration &decl)
 
const StatusGetError ()
 
ConstString GetName () const
 
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 ValueGetValue () const
 
ValueGetValue ()
 
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)
 
std::pair< TypeValidatorResult, std::string > GetValidationStatus ()
 
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)
 
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 (bool use_synthetic=true)
 
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)
 
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 SymbolContextScopeGetSymbolContextScope ()
 
void Dump (Stream &s)
 
void Dump (Stream &s, const DumpValueObjectOptions &options)
 
void LogValueObject (Log *log)
 
void LogValueObject (Log *log, const DumpValueObjectOptions &options)
 
lldb::ValueObjectSP Persist ()
 
bool IsCStringContainer (bool check_pointer=false)
 
std::pair< size_t, bool > ReadPointedString (lldb::DataBufferSP &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)
 
lldb::TypeSummaryImplSP GetSummaryFormat ()
 
void SetSummaryFormat (lldb::TypeSummaryImplSP format)
 
lldb::TypeValidatorImplSP GetValidator ()
 
void SetValidator (lldb::TypeValidatorImplSP format)
 
void SetValueFormat (lldb::TypeFormatImplSP format)
 
lldb::TypeFormatImplSP GetValueFormat ()
 
void SetSyntheticChildren (const lldb::SyntheticChildrenSP &synth_sp)
 
lldb::SyntheticChildrenSP GetSyntheticChildren ()
 
virtual ValueObjectGetParent ()
 
virtual const ValueObjectGetParent () const
 
ValueObjectGetNonBaseClassParent ()
 
void SetAddressTypeOfChildren (AddressType at)
 
AddressType GetAddressTypeOfChildren ()
 
void SetHasCompleteType ()
 
virtual bool MightHaveChildren ()
 Find out if a ValueObject might have children. More...
 
virtual lldb::VariableSP GetVariable ()
 
virtual bool IsRuntimeSupportValue ()
 
virtual uint64_t GetLanguageFlags ()
 
virtual void SetLanguageFlags (uint64_t flags)
 
- Public Member Functions inherited from lldb_private::UserID
 UserID (lldb::user_id_t uid=LLDB_INVALID_UID)
 Construct with optional user ID. More...
 
 ~UserID ()
 Destructor. More...
 
void Clear ()
 Clears the object state. More...
 
lldb::user_id_t GetID () const
 Get accessor for the user ID. More...
 
void SetID (lldb::user_id_t uid)
 Set accessor for the user ID. More...
 

Static Public Member Functions

static lldb::ValueObjectSP CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx)
 
static lldb::ValueObjectSP CreateValueObjectFromExpression (llvm::StringRef name, llvm::StringRef expression, const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options)
 
static lldb::ValueObjectSP CreateValueObjectFromAddress (llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type)
 
static lldb::ValueObjectSP CreateValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type)
 

Protected Types

typedef ClusterManager< ValueObjectValueObjectManager
 

Protected Member Functions

 ValueObject ()
 
 ValueObject (ExecutionContextScope *exe_scope, AddressType child_ptr_or_ref_addr_type=eAddressTypeLoad)
 
 ValueObject (ValueObject &parent)
 
ValueObjectManagerGetManager ()
 
virtual bool UpdateValue ()=0
 
virtual LazyBool CanUpdateWithInvalidExecutionContext ()
 
virtual void CalculateDynamicValue (lldb::DynamicValueType use_dynamic)
 
virtual lldb::DynamicValueType GetDynamicValueTypeImpl ()
 
virtual bool HasDynamicValueTypeInfo ()
 
virtual void CalculateSyntheticValue (bool use_synthetic=true)
 
virtual ValueObjectCreateChildAtIndex (size_t idx, bool synthetic_array_member, int32_t synthetic_index)
 
virtual size_t CalculateNumChildren (uint32_t max=UINT32_MAX)=0
 
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)
 
DataExtractorGetDataExtractor ()
 
void ClearDynamicTypeInformation ()
 
virtual CompilerType GetCompilerTypeImpl ()=0
 
const char * GetLocationAsCStringImpl (const Value &value, const DataExtractor &data)
 
bool IsChecksumEmpty ()
 
void SetPreferredDisplayLanguageIfNeeded (lldb::LanguageType)
 

Protected Attributes

ValueObjectm_parent
 
ValueObjectm_root
 
EvaluationPoint m_update_point
 
ConstString m_name
 
DataExtractor m_data
 
Value m_value
 
Status m_error
 
std::string m_value_str
 
std::string m_old_value_str
 
std::string m_location_str
 
std::string m_summary_str
 
std::string m_object_desc_str
 
llvm::Optional< std::pair< TypeValidatorResult, std::string > > m_validation_result
 
CompilerType m_override_type
 
ValueObjectManagerm_manager
 
ChildrenManager m_children
 
std::map< ConstString, ValueObject * > m_synthetic_children
 
ValueObjectm_dynamic_value
 
ValueObjectm_synthetic_value
 
ValueObjectm_deref_valobj
 
lldb::ValueObjectSP m_addr_of_valobj_sp
 
lldb::Format m_format
 
lldb::Format m_last_format
 
uint32_t m_last_format_mgr_revision
 
lldb::TypeSummaryImplSP m_type_summary_sp
 
lldb::TypeFormatImplSP m_type_format_sp
 
lldb::SyntheticChildrenSP m_synthetic_children_sp
 
lldb::TypeValidatorImplSP m_type_validator_sp
 
ProcessModID m_user_id_of_forced_summary
 
AddressType m_address_type_of_ptr_or_ref_children
 
llvm::SmallVector< uint8_t, 16 > m_value_checksum
 
lldb::LanguageType m_preferred_display_language
 
uint64_t m_language_flags
 
bool m_value_is_valid: 1
 
bool m_value_did_change: 1
 
bool m_children_count_valid: 1
 
bool m_old_value_valid: 1
 
bool m_is_deref_of_parent: 1
 
bool m_is_array_item_for_pointer: 1
 
bool m_is_bitfield_for_scalar: 1
 
bool m_is_child_at_offset: 1
 
bool m_is_getting_summary: 1
 
bool m_did_calculate_complete_objc_class_type: 1
 
bool m_is_synthetic_children_generated: 1
 
- Protected Attributes inherited from lldb_private::UserID
lldb::user_id_t m_uid
 The user ID that uniquely identifies an object. More...
 

Friends

class ValueObjectChild
 
class ClangExpressionDeclMap
 
class ExpressionVariable
 
class Target
 
class ValueObjectConstResultImpl
 
class ValueObjectSynthetic
 

Detailed Description

ValueObject:

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 126 of file ValueObject.h.

Member Typedef Documentation

◆ ValueObjectManager

Definition at line 810 of file ValueObject.h.

Member Enumeration Documentation

◆ ClearUserVisibleDataItems

Enumerator
eClearUserVisibleDataItemsNothing 
eClearUserVisibleDataItemsValue 
eClearUserVisibleDataItemsSummary 
eClearUserVisibleDataItemsLocation 
eClearUserVisibleDataItemsDescription 
eClearUserVisibleDataItemsSyntheticChildren 
eClearUserVisibleDataItemsValidator 
eClearUserVisibleDataItemsAllStrings 
eClearUserVisibleDataItemsAll 

Definition at line 196 of file ValueObject.h.

◆ ExpressionPathAftermath

Enumerator
eExpressionPathAftermathNothing 
eExpressionPathAftermathDereference 
eExpressionPathAftermathTakeAddress 

Definition at line 190 of file ValueObject.h.

◆ ExpressionPathEndResultType

Enumerator
eExpressionPathEndResultTypePlain 
eExpressionPathEndResultTypeBitfield 
eExpressionPathEndResultTypeBoundedRange 
eExpressionPathEndResultTypeUnboundedRange 
eExpressionPathEndResultTypeValueObjectList 
eExpressionPathEndResultTypeInvalid 

Definition at line 181 of file ValueObject.h.

◆ ExpressionPathScanEndReason

Enumerator
eExpressionPathScanEndReasonEndOfString 
eExpressionPathScanEndReasonNoSuchChild 
eExpressionPathScanEndReasonNoSuchSyntheticChild 
eExpressionPathScanEndReasonEmptyRangeNotAllowed 
eExpressionPathScanEndReasonDotInsteadOfArrow 
eExpressionPathScanEndReasonArrowInsteadOfDot 
eExpressionPathScanEndReasonFragileIVarNotAllowed 
eExpressionPathScanEndReasonRangeOperatorNotAllowed 
eExpressionPathScanEndReasonRangeOperatorInvalid 
eExpressionPathScanEndReasonArrayRangeOperatorMet 
eExpressionPathScanEndReasonBitfieldRangeOperatorMet 
eExpressionPathScanEndReasonUnexpectedSymbol 
eExpressionPathScanEndReasonTakingAddressFailed 
eExpressionPathScanEndReasonDereferencingFailed 
eExpressionPathScanEndReasonRangeOperatorExpanded 
eExpressionPathScanEndReasonSyntheticValueMissing 
eExpressionPathScanEndReasonUnknown 

Definition at line 144 of file ValueObject.h.

◆ GetExpressionPathFormat

Enumerator
eGetExpressionPathFormatDereferencePointers 
eGetExpressionPathFormatHonorPointers 

Definition at line 128 of file ValueObject.h.

◆ PrintableRepresentationSpecialCases

Enumerator
eDisable 
eAllow 

Definition at line 542 of file ValueObject.h.

◆ ValueObjectRepresentationStyle

Enumerator
eValueObjectRepresentationStyleValue 
eValueObjectRepresentationStyleSummary 
eValueObjectRepresentationStyleLanguageSpecific 
eValueObjectRepresentationStyleLocation 
eValueObjectRepresentationStyleChildrenCount 
eValueObjectRepresentationStyleType 
eValueObjectRepresentationStyleName 
eValueObjectRepresentationStyleExpressionPath 

Definition at line 133 of file ValueObject.h.

Constructor & Destructor Documentation

◆ ~ValueObject()

ValueObject::~ValueObject ( )
virtual

◆ ValueObject() [1/3]

lldb_private::ValueObject::ValueObject ( )
protected

◆ ValueObject() [2/3]

ValueObject::ValueObject ( ExecutionContextScope exe_scope,
AddressType  child_ptr_or_ref_addr_type = eAddressTypeLoad 
)
protected

◆ ValueObject() [3/3]

ValueObject::ValueObject ( ValueObject parent)
protected

Definition at line 82 of file ValueObject.cpp.

References m_manager, and lldb_private::ClusterManager< T >::ManageObject().

Member Function Documentation

◆ AddressOf()

ValueObjectSP ValueObject::AddressOf ( Status error)
virtual

◆ AddSyntheticChild()

void ValueObject::AddSyntheticChild ( ConstString  key,
ValueObject valobj 
)
protected

◆ CalculateDynamicValue()

void ValueObject::CalculateDynamicValue ( lldb::DynamicValueType  use_dynamic)
protectedvirtual

◆ CalculateNumChildren()

virtual size_t lldb_private::ValueObject::CalculateNumChildren ( uint32_t  max = UINT32_MAX)
protectedpure virtual

◆ CalculateSyntheticValue()

void ValueObject::CalculateSyntheticValue ( bool  use_synthetic = true)
protectedvirtual

◆ CanProvideValue()

bool ValueObject::CanProvideValue ( )
virtual

◆ CanUpdateWithInvalidExecutionContext()

virtual LazyBool lldb_private::ValueObject::CanUpdateWithInvalidExecutionContext ( )
inlineprotectedvirtual

◆ Cast()

ValueObjectSP ValueObject::Cast ( const CompilerType compiler_type)
virtual

◆ CastPointerType() [1/2]

ValueObjectSP ValueObject::CastPointerType ( const char *  name,
CompilerType ast_type 
)
virtual

◆ CastPointerType() [2/2]

virtual lldb::ValueObjectSP lldb_private::ValueObject::CastPointerType ( const char *  name,
lldb::TypeSP &  type_sp 
)
virtual

◆ ClearDynamicTypeInformation()

void ValueObject::ClearDynamicTypeInformation ( )
protected

◆ ClearUserVisibleData()

void ValueObject::ClearUserVisibleData ( uint32_t  items = ValueObject::eClearUserVisibleDataItemsAllStrings)
protected

◆ Clone()

lldb::ValueObjectSP ValueObject::Clone ( ConstString  new_name)
virtual

Definition at line 2917 of file ValueObject.cpp.

References lldb_private::ValueObjectCast::Create(), and GetCompilerType().

Referenced by IsSynthetic().

◆ CreateChildAtIndex()

ValueObject * ValueObject::CreateChildAtIndex ( size_t  idx,
bool  synthetic_array_member,
int32_t  synthetic_index 
)
protectedvirtual

◆ CreateConstantValue()

ValueObjectSP ValueObject::CreateConstantValue ( ConstString  name)
virtual

◆ CreateValueObjectFromAddress()

lldb::ValueObjectSP ValueObject::CreateValueObjectFromAddress ( llvm::StringRef  name,
uint64_t  address,
const ExecutionContext exe_ctx,
CompilerType  type 
)
static

◆ CreateValueObjectFromData()

lldb::ValueObjectSP ValueObject::CreateValueObjectFromData ( llvm::StringRef  name,
const DataExtractor data,
const ExecutionContext exe_ctx,
CompilerType  type 
)
static

◆ CreateValueObjectFromExpression() [1/2]

lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression ( llvm::StringRef  name,
llvm::StringRef  expression,
const ExecutionContext exe_ctx 
)
static

Definition at line 3115 of file ValueObject.cpp.

Referenced by DoesProvideSyntheticValue().

◆ CreateValueObjectFromExpression() [2/2]

lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression ( llvm::StringRef  name,
llvm::StringRef  expression,
const ExecutionContext exe_ctx,
const EvaluateExpressionOptions options 
)
static

◆ Dereference()

ValueObjectSP ValueObject::Dereference ( Status error)
virtual

◆ DoesProvideSyntheticValue()

virtual bool lldb_private::ValueObject::DoesProvideSyntheticValue ( )
inlinevirtual

◆ Dump() [1/2]

void ValueObject::Dump ( Stream s)

Definition at line 2734 of file ValueObject.cpp.

Referenced by DoesProvideSyntheticValue(), and LogValueObject().

◆ Dump() [2/2]

void ValueObject::Dump ( Stream s,
const DumpValueObjectOptions options 
)

◆ DumpPrintableRepresentation()

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 1254 of file ValueObject.cpp.

References lldb_private::Flags::AnySet(), lldb_private::formatters::StringPrinter::ASCII, lldb_private::Status::AsCString(), CanProvideValue(), eAllow, lldb::eByteOrderInvalid, lldb::eFormatBinary, lldb::eFormatBoolean, lldb::eFormatBytes, lldb::eFormatBytesWithASCII, lldb::eFormatChar, lldb::eFormatCharArray, lldb::eFormatCharPrintable, lldb::eFormatComplex, lldb::eFormatComplexFloat, lldb::eFormatComplexInteger, lldb::eFormatCString, lldb::eFormatDecimal, lldb::eFormatDefault, lldb::eFormatEnum, lldb::eFormatFloat, lldb::eFormatHex, lldb::eFormatHexUppercase, lldb::eFormatInvalid, lldb::eFormatOctal, lldb::eFormatOSType, lldb::eFormatPointer, lldb::eFormatUnicode16, lldb::eFormatUnicode32, lldb::eFormatUnsigned, lldb::eFormatVectorOfChar, lldb::eFormatVectorOfFloat32, lldb::eFormatVectorOfFloat64, lldb::eFormatVectorOfSInt16, lldb::eFormatVectorOfSInt32, lldb::eFormatVectorOfSInt64, lldb::eFormatVectorOfSInt8, lldb::eFormatVectorOfUInt128, lldb::eFormatVectorOfUInt16, lldb::eFormatVectorOfUInt32, lldb::eFormatVectorOfUInt64, lldb::eFormatVectorOfUInt8, eValueObjectRepresentationStyleChildrenCount, eValueObjectRepresentationStyleExpressionPath, eValueObjectRepresentationStyleLanguageSpecific, eValueObjectRepresentationStyleLocation, eValueObjectRepresentationStyleName, eValueObjectRepresentationStyleSummary, eValueObjectRepresentationStyleType, eValueObjectRepresentationStyleValue, lldb_private::Status::Fail(), GetChildAtIndex(), GetExpressionPath(), GetLocationAsCString(), GetName(), GetNumChildren(), GetObjectDescription(), lldb_private::FormatManager::GetSingleItemFormat(), lldb_private::StreamString::GetString(), lldb_private::ConstString::GetStringRef(), GetSummaryAsCString(), GetTypeInfo(), GetTypeName(), GetValueAsCString(), IsCStringContainer(), m_error, lldb_private::Stream::Printf(), lldb_private::Stream::PutCString(), lldb_private::formatters::StringPrinter::ReadBufferAndDumpToStream(), ReadPointedString(), SetFormat(), and lldb_private::Flags::Test().

Referenced by DumpValue().

◆ FollowParentChain()

ValueObject * ValueObject::FollowParentChain ( std::function< bool(ValueObject *)>  f)

◆ GetAddressOf()

addr_t ValueObject::GetAddressOf ( bool  scalar_is_load_address = true,
AddressType address_type = nullptr 
)
virtual

◆ GetAddressTypeOfChildren()

AddressType ValueObject::GetAddressTypeOfChildren ( )

◆ GetBaseClassPath()

bool ValueObject::GetBaseClassPath ( Stream s)
virtual

◆ GetBitfieldBitOffset()

virtual uint32_t lldb_private::ValueObject::GetBitfieldBitOffset ( )
inlinevirtual

◆ GetBitfieldBitSize()

virtual uint32_t lldb_private::ValueObject::GetBitfieldBitSize ( )
inlinevirtual

◆ GetByteOffset()

virtual lldb::offset_t lldb_private::ValueObject::GetByteOffset ( )
inlinevirtual

Reimplemented in lldb_private::ValueObjectChild.

Definition at line 437 of file ValueObject.h.

◆ GetByteSize()

virtual uint64_t lldb_private::ValueObject::GetByteSize ( )
pure virtual

◆ GetChildAtIndex()

ValueObjectSP ValueObject::GetChildAtIndex ( size_t  idx,
bool  can_create 
)
virtual

◆ GetChildAtIndexPath() [1/2]

lldb::ValueObjectSP ValueObject::GetChildAtIndexPath ( llvm::ArrayRef< size_t >  idxs,
size_t *  index_of_error = nullptr 
)

Definition at line 475 of file ValueObject.cpp.

References GetSP().

Referenced by ExtractLibcxxStringInfo(), and IsArrayItemForPointer().

◆ GetChildAtIndexPath() [2/2]

lldb::ValueObjectSP ValueObject::GetChildAtIndexPath ( llvm::ArrayRef< std::pair< size_t, bool >>  idxs,
size_t *  index_of_error = nullptr 
)

Definition at line 491 of file ValueObject.cpp.

References GetSP().

◆ GetChildAtNamePath() [1/2]

lldb::ValueObjectSP ValueObject::GetChildAtNamePath ( llvm::ArrayRef< ConstString names,
ConstString name_of_error = nullptr 
)

◆ GetChildAtNamePath() [2/2]

lldb::ValueObjectSP ValueObject::GetChildAtNamePath ( llvm::ArrayRef< std::pair< ConstString, bool >>  names,
ConstString name_of_error = nullptr 
)

Definition at line 524 of file ValueObject.cpp.

References GetSP().

◆ GetChildMemberWithName()

ValueObjectSP ValueObject::GetChildMemberWithName ( ConstString  name,
bool  can_create 
)
virtual

◆ GetCompilerType()

CompilerType ValueObject::GetCompilerType ( )

Definition at line 332 of file ValueObject.cpp.

Referenced by lldb_private::ValueObjectConstResultImpl::AddressOf(), AddressOf(), lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectVariable::CalculateNumChildren(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::CalculateNumChildren(), CanBeUsedForElementCountPrinting(), CanProvideValue(), Clone(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::AppleObjCRuntime::CouldHaveDynamicValue(), lldb_private::ItaniumABILanguageRuntime::CouldHaveDynamicValue(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), CreateChildAtIndex(), CreateConstantValue(), Dereference(), DerefToNSErrorPointer(), DumpValue(), ExtractFields(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::FormattersContainer< KeyType, ValueType >::Get(), GetBaseClassPath(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::formatters::NSSetISyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >::GetChildAtIndex(), GetChildMemberWithName(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), lldb_private::ValueObjectConstResultCast::GetCompilerType(), lldb_private::ValueObjectConstResultChild::GetCompilerType(), lldb_private::ValueObjectChild::GetDisplayTypeName(), lldb_private::ItaniumABILanguageRuntime::GetDynamicTypeAndAddress(), GetExpressionPath(), GetFrameSP(), lldb_private::CPlusPlusLanguage::GetHardcodedSummaries(), lldb_private::CPlusPlusLanguage::GetHardcodedSynthetics(), GetIndexOfChildWithName(), lldb_private::ValueObjectPrinter::GetMostSpecializedValue(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetObjectDescription(), GetObjectRuntimeLanguage(), GetPointeeData(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::FormatManager::GetPossibleMatches(), lldb_private::ValueObjectChild::GetQualifiedTypeName(), GetQualifiedTypeName(), GetSyntheticBitFieldChild(), GetTypeImpl(), GetTypeInfo(), lldb_private::ValueObjectChild::GetTypeName(), GetTypeName(), GetVTableAddress(), IsArrayType(), IsIntegerType(), lldb_private::ObjCLanguage::IsNilReference(), IsPointerOrReferenceType(), IsPointerType(), IsPossibleDynamicType(), IsScalarType(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::NSAttributedStringSummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), ReadPointedString(), SetData(), SetValueFromCString(), lldb_private::FormatManager::ShouldPrintAsOneLiner(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::Update(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), lldb_private::ValueObjectVariable::UpdateValue(), lldb_private::formatters::WCharStringSummaryProvider(), and lldb_private::formatters::WCharSummaryProvider().

◆ GetCompilerTypeImpl()

virtual CompilerType lldb_private::ValueObject::GetCompilerTypeImpl ( )
protectedpure virtual

◆ GetData()

uint64_t ValueObject::GetData ( DataExtractor data,
Status error 
)
virtual

◆ GetDataExtractor()

DataExtractor & ValueObject::GetDataExtractor ( )
protected

◆ GetDeclaration()

bool ValueObject::GetDeclaration ( Declaration decl)
virtual

◆ GetDisplayTypeName()

ConstString ValueObject::GetDisplayTypeName ( )
virtual

◆ GetDynamicValue()

ValueObjectSP ValueObject::GetDynamicValue ( lldb::DynamicValueType  valueType)
virtual

◆ GetDynamicValueType()

lldb::DynamicValueType ValueObject::GetDynamicValueType ( )

◆ GetDynamicValueTypeImpl()

virtual lldb::DynamicValueType lldb_private::ValueObject::GetDynamicValueTypeImpl ( )
inlineprotectedvirtual

Reimplemented in lldb_private::ValueObjectDynamicValue.

Definition at line 964 of file ValueObject.h.

References lldb::eNoDynamicValues.

Referenced by GetDynamicValueType().

◆ GetError()

const Status & ValueObject::GetError ( )

◆ GetExecutionContextRef()

const ExecutionContextRef& lldb_private::ValueObject::GetExecutionContextRef ( ) const
inline

Definition at line 353 of file ValueObject.h.

References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), and m_update_point.

Referenced by lldb_private::ValueObjectConstResultImpl::AddressOf(), AddressOf(), CalculateDynamicValue(), lldb_private::ValueObjectCast::CalculateNumChildren(), lldb_private::ValueObjectChild::CalculateNumChildren(), lldb_private::ValueObjectVariable::CalculateNumChildren(), CastPointerType(), ClearDynamicTypeInformation(), lldb_private::formatters::CMTimeSummaryProvider(), lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), CreateChildAtIndex(), CreateConstantValue(), lldb_private::formatters::CXXFunctionPointerSummaryProvider(), Dereference(), ExtractFields(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::StringSummaryFormat::FormatObject(), lldb_private::ValueObjectCast::GetByteSize(), lldb_private::ValueObjectVariable::GetByteSize(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSDictionary1SyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxStdMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::AppleObjCRuntimeV2::GetClassDescriptor(), lldb_private::ObjCLanguageRuntime::GetClassDescriptor(), GetData(), lldb_private::ItaniumABILanguageRuntime::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), GetObjectDescription(), GetPointeeData(), GetSyntheticBase(), GetSyntheticChildAtOffset(), GetVBaseBitOffset(), lldb_private::ValueObjectVariable::IsInScope(), IsPossibleDynamicType(), lldb_private::formatters::NSError_SummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), ReadPointedString(), ResolveValue(), lldb_private::ValueObjectVariable::SetData(), SetData(), lldb_private::ValueObjectVariable::SetValueFromCString(), SetValueFromCString(), lldb_private::ValueObjectCast::UpdateValue(), lldb_private::ValueObjectChild::UpdateValue(), and lldb_private::ValueObjectVariable::UpdateValue().

◆ GetExpressionPath()

void ValueObject::GetExpressionPath ( Stream s,
bool  qualify_cxx_base_classes,
GetExpressionPathFormat  epformat = eGetExpressionPathFormatDereferencePointers 
)
virtual

◆ GetFormat()

lldb::Format ValueObject::GetFormat ( ) const

Definition at line 3222 of file ValueObject.cpp.

References lldb::eFormatDefault, m_format, and m_parent.

Referenced by GetValueAsCString(), and SetIsConstant().

◆ GetFrameSP()

lldb::StackFrameSP lldb_private::ValueObject::GetFrameSP ( ) const
inline

◆ GetIndexOfChildWithName()

size_t ValueObject::GetIndexOfChildWithName ( ConstString  name)
virtual

◆ GetIsConstant()

virtual bool lldb_private::ValueObject::GetIsConstant ( ) const
inlinevirtual

◆ GetLanguageFlags()

uint64_t ValueObject::GetLanguageFlags ( )
virtual

◆ GetLiveAddress()

virtual lldb::addr_t lldb_private::ValueObject::GetLiveAddress ( )
inlinevirtual

Reimplemented in lldb_private::ValueObjectConstResult.

Definition at line 626 of file ValueObject.h.

References LLDB_INVALID_ADDRESS.

◆ GetLocationAsCString()

const char * ValueObject::GetLocationAsCString ( )
virtual

◆ GetLocationAsCStringImpl()

const char * ValueObject::GetLocationAsCStringImpl ( const Value value,
const DataExtractor data 
)
protected

◆ GetManager()

ValueObjectManager* lldb_private::ValueObject::GetManager ( )
inlineprotected

Definition at line 954 of file ValueObject.h.

References m_manager, and UpdateValue().

◆ GetModule()

ModuleSP ValueObject::GetModule ( )
virtual

◆ GetName()

ConstString ValueObject::GetName ( ) const

◆ GetNonBaseClassParent()

ValueObject * ValueObject::GetNonBaseClassParent ( )

◆ GetNonSyntheticValue()

lldb::ValueObjectSP ValueObject::GetNonSyntheticValue ( )
virtual

◆ GetNumChildren()

size_t ValueObject::GetNumChildren ( uint32_t  max = UINT32_MAX)

◆ GetObjectDescription()

const char * ValueObject::GetObjectDescription ( )

◆ GetObjectRuntimeLanguage()

LanguageType ValueObject::GetObjectRuntimeLanguage ( )
virtual

◆ GetParent() [1/2]

virtual ValueObject* lldb_private::ValueObject::GetParent ( )
inlinevirtual

◆ GetParent() [2/2]

virtual const ValueObject* lldb_private::ValueObject::GetParent ( ) const
inlinevirtual

◆ GetPointeeData()

size_t ValueObject::GetPointeeData ( DataExtractor data,
uint32_t  item_idx = 0,
uint32_t  item_count = 1 
)
virtual

◆ GetPointerValue()

addr_t ValueObject::GetPointerValue ( AddressType address_type = nullptr)

◆ GetPreferredDisplayLanguage()

lldb::LanguageType ValueObject::GetPreferredDisplayLanguage ( )
virtual

◆ GetProcessSP()

lldb::ProcessSP lldb_private::ValueObject::GetProcessSP ( ) const
inline

Definition at line 361 of file ValueObject.h.

References lldb_private::ValueObject::EvaluationPoint::GetExecutionContextRef(), lldb_private::ExecutionContextRef::GetProcessSP(), and m_update_point.

Referenced by lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::formatters::Char16StringSummaryProvider(), lldb_private::formatters::Char32StringSummaryProvider(), lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), ClearDynamicTypeInformation(), DerefToNSErrorPointer(), ExtractFields(), lldb_private::TypeFormatImpl_EnumType::FormatObject(), lldb_private::formatters::NSDictionary1SyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSArray1SyntheticFrontEnd::GetChildAtIndex(), lldb_private::AppleObjCRuntimeV2::GetDynamicTypeAndAddress(), lldb_private::AppleObjCRuntime::GetObjectDescription(), lldb_private::ObjCLanguage::GetPossibleFormattersMatches(), lldb_private::ValueObjectManager::GetUseSynthetic(), IsRuntimeSupportValue(), lldb_private::formatters::LibStdcppStringSummaryProvider(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDecimalNumberSummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), lldb_private::formatters::NSError_SummaryProvider(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBooleanSummaryProvider(), lldb_private::formatters::ObjCClassSummaryProvider(), lldb_private::ValueObjectChild::UpdateValue(), and lldb_private::formatters::WCharStringSummaryProvider().

◆ GetQualifiedRepresentationIfAvailable()

ValueObjectSP ValueObject::GetQualifiedRepresentationIfAvailable ( lldb::DynamicValueType  dynValue,
bool  synthValue 
)

◆ GetQualifiedTypeName()

ConstString ValueObject::GetQualifiedTypeName ( )
virtual

◆ GetRoot()

ValueObject * ValueObject::GetRoot ( )

◆ GetSP()

lldb::ValueObjectSP lldb_private::ValueObject::GetSP ( )
inline

Definition at line 565 of file ValueObject.h.

References GetAddressOf(), GetDynamicValue(), GetDynamicValueType(), GetNonSyntheticValue(), GetPointerValue(), lldb_private::ClusterManager< T >::GetSharedPointer(), GetStaticValue(), GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChild(), GetSyntheticChildAtOffset(), GetSyntheticExpressionPathChild(), GetSyntheticValue(), HasSyntheticValue(), m_manager, and SetName().

Referenced by lldb_private::formatters::BlockPointerSummaryProvider(), lldb_private::ValueObjectConstResultImpl::Cast(), lldb_private::ValueObjectCast::Create(), lldb::SBTypeSummary::CreateWithCallback(), Dereference(), lldb_private::ScriptSummaryFormat::FormatObject(), lldb_private::ScriptedSyntheticChildren::FrontEnd::FrontEnd(), lldb_private::ValueObjectSynthetic::GetChildAtIndex(), lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >::GetChildAtIndex(), GetChildAtIndex(), GetChildAtIndexPath(), GetChildAtNamePath(), lldb_private::ValueObjectRegisterSet::GetChildMemberWithName(), lldb_private::ValueObjectConstResult::GetDynamicValue(), GetDynamicValue(), lldb_private::CXXSyntheticChildren::GetFrontEnd(), GetNonSyntheticValue(), GetQualifiedRepresentationIfAvailable(), lldb_private::ValueObjectManager::GetRootSP(), lldb_private::ValueObjectDynamicValue::GetStaticValue(), lldb_private::ValueObjectSynthetic::GetStaticValue(), GetStaticValue(), GetSyntheticArrayMember(), GetSyntheticBase(), GetSyntheticBitFieldChild(), GetSyntheticChildAtOffset(), lldb_private::formatters::LibcxxStdAtomicSyntheticFrontEnd::GetSyntheticValue(), GetSyntheticValue(), GetValueForExpressionPath(), lldb_private::formatters::LibStdcppUniquePointerSummaryProvider(), lldb_private::formatters::LibStdcppWStringSummaryProvider(), lldb_private::formatters::ObjCBOOLSummaryProvider(), lldb_private::ScriptInterpreterPythonImpl::RunScriptFormatKeyword(), lldb_private::formatters::VectorIteratorSyntheticFrontEnd::Update(), lldb_private::formatters::LibcxxVectorBoolSyntheticFrontEnd::Update(), lldb_private::formatters::NSSetISyntheticFrontEnd::Update(), lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSArrayMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSSetMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::NSDictionaryISyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSDictionaryMSyntheticFrontEnd< D32, D64 >::Update(), lldb_private::formatters::Foundation1100::NSDictionaryMSyntheticFrontEnd::Update(), lldb_private::formatters::GenericNSArrayISyntheticFrontEnd< D32, D64, Inline >::Update(), and lldb_private::formatters::VectorTypeSummaryProvider().

◆ GetStaticValue()

ValueObjectSP ValueObject::GetStaticValue ( )
virtual

◆ GetSummaryAsCString() [1/4]

const char * ValueObject::GetSummaryAsCString ( lldb::LanguageType  lang = lldb::eLanguageTypeUnknown)

◆ GetSummaryAsCString() [2/4]

bool ValueObject::GetSummaryAsCString ( TypeSummaryImpl summary_ptr,
std::string &  destination,
lldb::LanguageType  lang = lldb::eLanguageTypeUnknown 
)

Definition at line 661 of file ValueObject.cpp.

References GetSummaryAsCString().

◆ GetSummaryAsCString() [3/4]

bool ValueObject::GetSummaryAsCString ( std::string &  destination,
const TypeSummaryOptions options 
)

Definition at line 717 of file ValueObject.cpp.

References GetSummaryAsCString(), and GetSummaryFormat().

◆ GetSummaryAsCString() [4/4]

bool ValueObject::GetSummaryAsCString ( TypeSummaryImpl summary_ptr,
std::string &  destination,
const TypeSummaryOptions options 
)

◆ GetSummaryFormat()

lldb::TypeSummaryImplSP lldb_private::ValueObject::GetSummaryFormat ( )
inline

◆ GetSymbolContextScope()

SymbolContextScope * ValueObject::GetSymbolContextScope ( )
virtual

◆ GetSyntheticArrayMember()

ValueObjectSP ValueObject::GetSyntheticArrayMember ( size_t  index,
bool  can_create 
)

◆ GetSyntheticBase()

ValueObjectSP ValueObject::GetSyntheticBase ( uint32_t  offset,
const CompilerType type,
bool  can_create,
ConstString  name_const_str = ConstString() 
)
virtual

◆ GetSyntheticBitFieldChild()

ValueObjectSP ValueObject::GetSyntheticBitFieldChild ( uint32_t  from,
uint32_t  to,
bool  can_create 
)

◆ GetSyntheticChild()

ValueObjectSP ValueObject::GetSyntheticChild ( ConstString  key) const

◆ GetSyntheticChildAtOffset()

ValueObjectSP ValueObject::GetSyntheticChildAtOffset ( uint32_t  offset,
const CompilerType type,
bool  can_create,
ConstString  name_const_str = ConstString() 
)
virtual

◆ GetSyntheticChildren()

lldb::SyntheticChildrenSP lldb_private::ValueObject::GetSyntheticChildren ( )
inline

◆ GetSyntheticExpressionPathChild()

ValueObjectSP ValueObject::GetSyntheticExpressionPathChild ( const char *  expression,
bool  can_create 
)

◆ GetSyntheticValue()

ValueObjectSP ValueObject::GetSyntheticValue ( bool  use_synthetic = true)

◆ GetTargetSP()

lldb::TargetSP lldb_private::ValueObject::GetTargetSP ( ) const
inline

◆ GetThreadSP()

lldb::ThreadSP lldb_private::ValueObject::GetThreadSP ( ) const
inline

◆ GetTypeImpl()

TypeImpl ValueObject::GetTypeImpl ( )
virtual

Reimplemented in lldb_private::ValueObjectDynamicValue.

Definition at line 336 of file ValueObject.cpp.

References GetCompilerType().

Referenced by GetFrameSP().

◆ GetTypeInfo()

uint32_t ValueObject::GetTypeInfo ( CompilerType pointee_or_element_compiler_type = nullptr)
virtual

◆ GetTypeName()

ConstString ValueObject::GetTypeName ( )
virtual

◆ GetUpdatePoint() [1/2]

const EvaluationPoint& lldb_private::ValueObject::GetUpdatePoint ( ) const
inline

Definition at line 349 of file ValueObject.h.

References m_update_point.

Referenced by ClearDynamicTypeInformation().

◆ GetUpdatePoint() [2/2]

EvaluationPoint& lldb_private::ValueObject::GetUpdatePoint ( )
inline

Definition at line 351 of file ValueObject.h.

References m_update_point.

◆ GetValidationStatus()

std::pair< TypeValidatorResult, std::string > ValueObject::GetValidationStatus ( )

◆ GetValidator()

lldb::TypeValidatorImplSP lldb_private::ValueObject::GetValidator ( )
inline

Definition at line 735 of file ValueObject.h.

References m_type_validator_sp, and UpdateFormatsIfNeeded().

◆ GetValue() [1/2]

const Value & ValueObject::GetValue ( ) const

◆ GetValue() [2/2]

Value & ValueObject::GetValue ( )

Definition at line 397 of file ValueObject.cpp.

References m_value.

◆ GetValueAsCString() [1/3]

const char * ValueObject::GetValueAsCString ( )
virtual

◆ GetValueAsCString() [2/3]

bool ValueObject::GetValueAsCString ( const lldb_private::TypeFormatImpl format,
std::string &  destination 
)
virtual

◆ GetValueAsCString() [3/3]

bool ValueObject::GetValueAsCString ( lldb::Format  format,
std::string &  destination 
)

Definition at line 1137 of file ValueObject.cpp.

References GetValueAsCString().

◆ GetValueAsSigned()

int64_t ValueObject::GetValueAsSigned ( int64_t  fail_value,
bool *  success = nullptr 
)
virtual

◆ GetValueAsUnsigned()

uint64_t ValueObject::GetValueAsUnsigned ( uint64_t  fail_value,
bool *  success = nullptr 
)
virtual

Definition at line 1183 of file ValueObject.cpp.

References CanProvideValue(), ResolveValue(), and lldb_private::Scalar::ULongLong().

Referenced by lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::CalculateNumChildren(), lldb_private::formatters::CFAbsoluteTimeSummaryProvider(), lldb_private::formatters::CFBagSummaryProvider(), lldb_private::formatters::CFBinaryHeapSummaryProvider(), lldb_private::formatters::CFBitVectorSummaryProvider(), lldb_private::AppleObjCRuntimeV1::ClassDescriptorV1::ClassDescriptorV1(), CreateConstantValue(), DerefToNSErrorPointer(), ExtractFields(), lldb_private::formatters::GetArrayAddressOrPointerValue(), lldb_private::formatters::LibcxxStdVectorSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxInitializerListSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::NSDictionary1SyntheticFrontEnd::GetChildAtIndex(), GetExpressionPath(), GetVTableAddress(), IsArrayItemForPointer(), lldb_private::ObjCLanguage::IsNilReference(), lldb_private::formatters::LibcxxContainerSummaryProvider(), lldb_private::formatters::NSArraySummaryProvider(), lldb_private::formatters::NSAttributedStringSummaryProvider(), lldb_private::formatters::NSBundleSummaryProvider(), lldb_private::formatters::NSDataSummaryProvider(), lldb_private::formatters::NSDateSummaryProvider(), lldb_private::formatters::NSDecimalNumberSummaryProvider(), lldb_private::formatters::NSDictionarySummaryProvider(), lldb_private::formatters::NSIndexSetSummaryProvider(), lldb_private::formatters::NSMachPortSummaryProvider(), lldb_private::formatters::NSNotificationSummaryProvider(), lldb_private::formatters::NSNumberSummaryProvider(), lldb_private::formatters::NSSetSummaryProvider(), lldb_private::formatters::NSStringSummaryProvider(), lldb_private::formatters::NSTimeZoneSummaryProvider(), lldb_private::formatters::NSURLSummaryProvider(), lldb_private::formatters::ObjCBooleanSummaryProvider(), lldb_private::formatters::ObjCClassSummaryProvider(), lldb_private::formatters::ObjCSELSummaryProvider(), and lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update().

◆ GetValueDidChange()

bool ValueObject::GetValueDidChange ( )

◆ GetValueForExpressionPath()

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 2145 of file ValueObject.cpp.

References lldb_private::Flags::AllClear(), lldb_private::ValueObject::GetValueForExpressionPathOptions::Both, eExpressionPathAftermathDereference, eExpressionPathAftermathNothing, eExpressionPathAftermathTakeAddress, eExpressionPathEndResultTypeBitfield, eExpressionPathEndResultTypeBoundedRange, eExpressionPathEndResultTypeInvalid, eExpressionPathEndResultTypePlain, eExpressionPathEndResultTypeUnboundedRange, eExpressionPathScanEndReasonArrayRangeOperatorMet, eExpressionPathScanEndReasonArrowInsteadOfDot, eExpressionPathScanEndReasonBitfieldRangeOperatorMet, eExpressionPathScanEndReasonDereferencingFailed, eExpressionPathScanEndReasonDotInsteadOfArrow, eExpressionPathScanEndReasonEmptyRangeNotAllowed, eExpressionPathScanEndReasonEndOfString, eExpressionPathScanEndReasonFragileIVarNotAllowed, eExpressionPathScanEndReasonNoSuchChild, eExpressionPathScanEndReasonRangeOperatorInvalid, eExpressionPathScanEndReasonRangeOperatorNotAllowed, eExpressionPathScanEndReasonSyntheticValueMissing, eExpressionPathScanEndReasonTakingAddressFailed, eExpressionPathScanEndReasonUnexpectedSymbol, eExpressionPathScanEndReasonUnknown, lldb::eLanguageTypeObjC, lldb_private::Status::Fail(), lldb_private::ValueObject::GetValueForExpressionPathOptions::FromSynthetic, GetSP(), lldb_private::CompilerType::GetTypeInfo(), lldb_private::ValueObject::GetValueForExpressionPathOptions::m_allow_bitfields_syntax, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_check_dot_vs_arrow_syntax, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_no_fragile_ivar, lldb_private::ValueObject::GetValueForExpressionPathOptions::m_synthetic_children_traversal, lldb_private::None, lldb_private::ValueObject::GetValueForExpressionPathOptions::None, lldb_private::Flags::Reset(), lldb_private::ConstString::SetString(), lldb_private::swap(), lldb_private::Flags::Test(), and lldb_private::ValueObject::GetValueForExpressionPathOptions::ToSynthetic.

Referenced by DumpValue(), ExpandIndexedExpression(), GetSyntheticExpressionPathChild(), IsDereferenceOfParent(), and lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEnd::Update().

◆ GetValueFormat()

lldb::TypeFormatImplSP lldb_private::ValueObject::GetValueFormat ( )
inline

◆ GetValueIsValid()

bool ValueObject::GetValueIsValid ( ) const

Definition at line 444 of file ValueObject.cpp.

References m_value_is_valid.

Referenced by UpdateValueIfNeeded().

◆ GetValueType()

virtual lldb::ValueType lldb_private::ValueObject::GetValueType ( ) const
pure virtual

◆ GetVariable()

virtual lldb::VariableSP lldb_private::ValueObject::GetVariable ( )
inlinevirtual

◆ HasDynamicValueTypeInfo()

virtual bool lldb_private::ValueObject::HasDynamicValueTypeInfo ( )
inlineprotectedvirtual

◆ HasSpecialPrintableRepresentation()

bool ValueObject::HasSpecialPrintableRepresentation ( ValueObjectRepresentationStyle  val_obj_display,
lldb::Format  custom_format 
)

◆ HasSyntheticValue()

bool ValueObject::HasSyntheticValue ( )
virtual

◆ IsArrayItemForPointer()

virtual bool lldb_private::ValueObject::IsArrayItemForPointer ( )
inlinevirtual

◆ IsArrayType()

bool ValueObject::IsArrayType ( )
virtual

◆ IsBaseClass() [1/2]

virtual bool lldb_private::ValueObject::IsBaseClass ( )
inlinevirtual

◆ IsBaseClass() [2/2]

bool ValueObject::IsBaseClass ( uint32_t depth)

Definition at line 2030 of file ValueObject.cpp.

References GetParent(), and IsBaseClass().

◆ IsBitfield()

bool lldb_private::ValueObject::IsBitfield ( )
inline

Definition at line 443 of file ValueObject.h.

References GetBitfieldBitOffset(), and GetBitfieldBitSize().

Referenced by CreateConstantValue(), DumpValue(), and GetAddressOf().

◆ IsChecksumEmpty()

bool ValueObject::IsChecksumEmpty ( )
protected

Definition at line 3268 of file ValueObject.cpp.

References m_value_checksum.

Referenced by HasDynamicValueTypeInfo(), and UpdateValueIfNeeded().

◆ IsCStringContainer()

bool ValueObject::IsCStringContainer ( bool  check_pointer = false)

◆ IsDereferenceOfParent()

virtual bool lldb_private::ValueObject::IsDereferenceOfParent ( )
inlinevirtual

◆ IsDynamic()

virtual bool lldb_private::ValueObject::IsDynamic ( )
inlinevirtual

◆ IsInScope()

virtual bool lldb_private::ValueObject::IsInScope ( )
inlinevirtual

◆ IsIntegerType()

bool ValueObject::IsIntegerType ( bool &  is_signed)

◆ IsLogicalTrue()

bool ValueObject::IsLogicalTrue ( Status error)
virtual

◆ IsNilReference()

bool ValueObject::IsNilReference ( )

Definition at line 1715 of file ValueObject.cpp.

References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().

Referenced by GetFrameSP().

◆ IsPointerOrReferenceType()

bool ValueObject::IsPointerOrReferenceType ( )
virtual

◆ IsPointerType()

bool ValueObject::IsPointerType ( )
virtual

◆ IsPossibleDynamicType()

bool ValueObject::IsPossibleDynamicType ( )
virtual

◆ IsRuntimeSupportValue()

bool ValueObject::IsRuntimeSupportValue ( )
virtual

◆ IsScalarType()

bool ValueObject::IsScalarType ( )
virtual

◆ IsSynthetic()

virtual bool lldb_private::ValueObject::IsSynthetic ( )
inlinevirtual

◆ IsSyntheticChildrenGenerated()

bool ValueObject::IsSyntheticChildrenGenerated ( )
virtual

◆ IsUninitializedReference()

bool ValueObject::IsUninitializedReference ( )

Definition at line 1722 of file ValueObject.cpp.

References lldb_private::Language::FindPlugin(), and GetObjectRuntimeLanguage().

Referenced by GetFrameSP().

◆ LogValueObject() [1/2]

void ValueObject::LogValueObject ( Log log)

Definition at line 2719 of file ValueObject.cpp.

Referenced by DoesProvideSyntheticValue().

◆ LogValueObject() [2/2]

void ValueObject::LogValueObject ( Log log,
const DumpValueObjectOptions options 
)

◆ MightHaveChildren()

bool ValueObject::MightHaveChildren ( )
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.

Returns
Returns true if the ValueObject might have children, or false otherwise.

Reimplemented in lldb_private::ValueObjectSynthetic.

Definition at line 597 of file ValueObject.cpp.

References GetNumChildren(), and GetTypeInfo().

Referenced by SetHasCompleteType(), and lldb_private::ValueObjectPrinter::ShouldPrintEmptyBrackets().

◆ NeedsUpdating()

bool lldb_private::ValueObject::NeedsUpdating ( )
inline

◆ Persist()

ValueObjectSP ValueObject::Persist ( )

◆ ReadPointedString()

std::pair< size_t, bool > ValueObject::ReadPointedString ( lldb::DataBufferSP &  buffer_sp,
Status error,
uint32_t  max_length = 0,
bool  honor_array = true,
lldb::Format  item_format = lldb::eFormatCharArray 
)

◆ ResolveValue()

bool ValueObject::ResolveValue ( Scalar scalar)
virtual

◆ SetAddressTypeOfChildren()

void lldb_private::ValueObject::SetAddressTypeOfChildren ( AddressType  at)
inline

◆ SetData()

bool ValueObject::SetData ( DataExtractor data,
Status error 
)
virtual

◆ SetFormat()

virtual void lldb_private::ValueObject::SetFormat ( lldb::Format  format)
inlinevirtual

◆ SetHasCompleteType()

void lldb_private::ValueObject::SetHasCompleteType ( )
inline

Definition at line 783 of file ValueObject.h.

References m_did_calculate_complete_objc_class_type, and MightHaveChildren().

◆ SetIsConstant()

void lldb_private::ValueObject::SetIsConstant ( )
inline

◆ SetLanguageFlags()

void ValueObject::SetLanguageFlags ( uint64_t  flags)
virtual

◆ SetLiveAddress()

virtual void lldb_private::ValueObject::SetLiveAddress ( lldb::addr_t  addr = LLDB_INVALID_ADDRESS,
AddressType  address_type = eAddressTypeLoad 
)
inlinevirtual

Reimplemented in lldb_private::ValueObjectConstResult.

Definition at line 628 of file ValueObject.h.

References Cast(), and CastPointerType().

◆ SetName()

void ValueObject::SetName ( ConstString  name)

Definition at line 615 of file ValueObject.cpp.

References m_name.

Referenced by GetSP(), and lldb_private::ValueObjectCast::ValueObjectCast().

◆ SetNeedsUpdate()

void ValueObject::SetNeedsUpdate ( )

◆ SetNumChildren()

void ValueObject::SetNumChildren ( size_t  num_children)
protected

◆ SetPreferredDisplayLanguage()

void ValueObject::SetPreferredDisplayLanguage ( lldb::LanguageType  lt)

◆ SetPreferredDisplayLanguageIfNeeded()

void ValueObject::SetPreferredDisplayLanguageIfNeeded ( lldb::LanguageType  lt)
protected

◆ SetSummaryFormat()

void lldb_private::ValueObject::SetSummaryFormat ( lldb::TypeSummaryImplSP  format)
inline

◆ SetSyntheticChildren()

void lldb_private::ValueObject::SetSyntheticChildren ( const lldb::SyntheticChildrenSP &  synth_sp)
inline

◆ SetSyntheticChildrenGenerated()

void ValueObject::SetSyntheticChildrenGenerated ( bool  b)
virtual

◆ SetValidator()

void lldb_private::ValueObject::SetValidator ( lldb::TypeValidatorImplSP  format)
inline

◆ SetValueDidChange()

void ValueObject::SetValueDidChange ( bool  value_changed)
protected

◆ SetValueFormat()

void lldb_private::ValueObject::SetValueFormat ( lldb::TypeFormatImplSP  format)
inline

◆ SetValueFromCString()

bool ValueObject::SetValueFromCString ( const char *  value_str,
Status error 
)
virtual

◆ SetValueIsValid()

void ValueObject::SetValueIsValid ( bool  valid)
protected

◆ UpdateFormatsIfNeeded()

bool ValueObject::UpdateFormatsIfNeeded ( )

◆ UpdateValue()

virtual bool lldb_private::ValueObject::UpdateValue ( )
protectedpure virtual

◆ UpdateValueIfNeeded()

bool ValueObject::UpdateValueIfNeeded ( bool  update_format = true)

◆ ValueUpdated()

virtual void lldb_private::ValueObject::ValueUpdated ( )
inlinevirtual

Friends And Related Function Documentation

◆ ClangExpressionDeclMap

friend class ClangExpressionDeclMap
friend

Definition at line 930 of file ValueObject.h.

◆ ExpressionVariable

friend class ExpressionVariable
friend

Definition at line 931 of file ValueObject.h.

◆ Target

friend class Target
friend

Definition at line 932 of file ValueObject.h.

◆ ValueObjectChild

friend class ValueObjectChild
friend

◆ ValueObjectConstResultImpl

friend class ValueObjectConstResultImpl
friend

Definition at line 933 of file ValueObject.h.

◆ ValueObjectSynthetic

friend class ValueObjectSynthetic
friend

Definition at line 934 of file ValueObject.h.

Referenced by CalculateSyntheticValue().

Member Data Documentation

◆ m_addr_of_valobj_sp

lldb::ValueObjectSP lldb_private::ValueObject::m_addr_of_valobj_sp
protected

Definition at line 901 of file ValueObject.h.

Referenced by AddressOf().

◆ m_address_type_of_ptr_or_ref_children

AddressType lldb_private::ValueObject::m_address_type_of_ptr_or_ref_children
protected

Definition at line 914 of file ValueObject.h.

Referenced by GetAddressTypeOfChildren(), and SetAddressTypeOfChildren().

◆ m_children

ChildrenManager lldb_private::ValueObject::m_children
protected

◆ m_children_count_valid

bool lldb_private::ValueObject::m_children_count_valid
protected

Definition at line 922 of file ValueObject.h.

Referenced by ClearDynamicTypeInformation(), GetNumChildren(), and SetNumChildren().

◆ m_data

DataExtractor lldb_private::ValueObject::m_data
protected

◆ m_deref_valobj

ValueObject* lldb_private::ValueObject::m_deref_valobj
protected

Definition at line 899 of file ValueObject.h.

Referenced by Dereference().

◆ m_did_calculate_complete_objc_class_type

bool lldb_private::ValueObject::m_did_calculate_complete_objc_class_type
protected

Definition at line 922 of file ValueObject.h.

Referenced by ClearDynamicTypeInformation(), and SetHasCompleteType().

◆ m_dynamic_value

ValueObject* lldb_private::ValueObject::m_dynamic_value
protected

Definition at line 897 of file ValueObject.h.

Referenced by CalculateDynamicValue(), and GetDynamicValue().

◆ m_error

Status lldb_private::ValueObject::m_error
protected

◆ m_format

lldb::Format lldb_private::ValueObject::m_format
protected

Definition at line 906 of file ValueObject.h.

Referenced by GetFormat(), and SetFormat().

◆ m_is_array_item_for_pointer

bool lldb_private::ValueObject::m_is_array_item_for_pointer
protected

Definition at line 922 of file ValueObject.h.

Referenced by GetExpressionPath(), and IsArrayItemForPointer().

◆ m_is_bitfield_for_scalar

bool lldb_private::ValueObject::m_is_bitfield_for_scalar
protected

Definition at line 922 of file ValueObject.h.

Referenced by GetValueAsCString().

◆ m_is_child_at_offset

bool lldb_private::ValueObject::m_is_child_at_offset
protected

Definition at line 922 of file ValueObject.h.

◆ m_is_deref_of_parent

bool lldb_private::ValueObject::m_is_deref_of_parent
protected

Definition at line 922 of file ValueObject.h.

◆ m_is_getting_summary

bool lldb_private::ValueObject::m_is_getting_summary
protected

Definition at line 922 of file ValueObject.h.

Referenced by GetSummaryAsCString().

◆ m_is_synthetic_children_generated

bool lldb_private::ValueObject::m_is_synthetic_children_generated
protected

◆ m_language_flags

uint64_t lldb_private::ValueObject::m_language_flags
protected

Definition at line 920 of file ValueObject.h.

Referenced by GetLanguageFlags(), and SetLanguageFlags().

◆ m_last_format

lldb::Format lldb_private::ValueObject::m_last_format
protected

Definition at line 907 of file ValueObject.h.

Referenced by GetValueAsCString().

◆ m_last_format_mgr_revision

uint32_t lldb_private::ValueObject::m_last_format_mgr_revision
protected

Definition at line 908 of file ValueObject.h.

Referenced by ClearDynamicTypeInformation(), and UpdateFormatsIfNeeded().

◆ m_location_str

std::string lldb_private::ValueObject::m_location_str
protected

Definition at line 873 of file ValueObject.h.

Referenced by ClearUserVisibleData(), and GetLocationAsCStringImpl().

◆ m_manager

ValueObjectManager* lldb_private::ValueObject::m_manager
protected

Definition at line 887 of file ValueObject.h.

Referenced by GetManager(), GetSP(), and ValueObject().

◆ m_name

ConstString lldb_private::ValueObject::m_name
protected

◆ m_object_desc_str

std::string lldb_private::ValueObject::m_object_desc_str
protected

Definition at line 877 of file ValueObject.h.

Referenced by ClearUserVisibleData(), and GetObjectDescription().

◆ m_old_value_str

std::string lldb_private::ValueObject::m_old_value_str
protected

Definition at line 871 of file ValueObject.h.

Referenced by GetValueAsCString(), and UpdateValueIfNeeded().

◆ m_old_value_valid

bool lldb_private::ValueObject::m_old_value_valid
protected

Definition at line 922 of file ValueObject.h.

Referenced by GetValueAsCString(), and UpdateValueIfNeeded().

◆ m_override_type

CompilerType lldb_private::ValueObject::m_override_type
protected

Definition at line 884 of file ValueObject.h.

Referenced by ClearDynamicTypeInformation().

◆ m_parent

ValueObject* lldb_private::ValueObject::m_parent
protected

◆ m_preferred_display_language

lldb::LanguageType lldb_private::ValueObject::m_preferred_display_language
protected

◆ m_root

ValueObject* lldb_private::ValueObject::m_root
protected

Definition at line 856 of file ValueObject.h.

Referenced by GetRoot().

◆ m_summary_str

std::string lldb_private::ValueObject::m_summary_str
protected

Definition at line 875 of file ValueObject.h.

Referenced by ClearUserVisibleData(), and GetSummaryAsCString().

◆ m_synthetic_children

std::map<ConstString, ValueObject *> lldb_private::ValueObject::m_synthetic_children
protected

Definition at line 895 of file ValueObject.h.

Referenced by AddSyntheticChild(), and GetSyntheticChild().

◆ m_synthetic_children_sp

lldb::SyntheticChildrenSP lldb_private::ValueObject::m_synthetic_children_sp
protected

◆ m_synthetic_value

ValueObject* lldb_private::ValueObject::m_synthetic_value
protected

◆ m_type_format_sp

lldb::TypeFormatImplSP lldb_private::ValueObject::m_type_format_sp
protected

Definition at line 910 of file ValueObject.h.

Referenced by GetValueAsCString(), GetValueFormat(), and SetValueFormat().

◆ m_type_summary_sp

lldb::TypeSummaryImplSP lldb_private::ValueObject::m_type_summary_sp
protected

Definition at line 909 of file ValueObject.h.

Referenced by GetSummaryFormat(), and SetSummaryFormat().

◆ m_type_validator_sp

lldb::TypeValidatorImplSP lldb_private::ValueObject::m_type_validator_sp
protected

Definition at line 912 of file ValueObject.h.

Referenced by GetValidationStatus(), GetValidator(), and SetValidator().

◆ m_update_point

EvaluationPoint lldb_private::ValueObject::m_update_point
protected

◆ m_user_id_of_forced_summary

ProcessModID lldb_private::ValueObject::m_user_id_of_forced_summary
protected

Definition at line 913 of file ValueObject.h.

◆ m_validation_result

llvm::Optional<std::pair<TypeValidatorResult, std::string> > lldb_private::ValueObject::m_validation_result
protected

Definition at line 882 of file ValueObject.h.

Referenced by ClearUserVisibleData(), and GetValidationStatus().

◆ m_value

Value lldb_private::ValueObject::m_value
protected

◆ m_value_checksum

llvm::SmallVector<uint8_t, 16> lldb_private::ValueObject::m_value_checksum
protected

Definition at line 916 of file ValueObject.h.

Referenced by IsChecksumEmpty(), and UpdateValueIfNeeded().

◆ m_value_did_change

bool lldb_private::ValueObject::m_value_did_change
protected

◆ m_value_is_valid

bool lldb_private::ValueObject::m_value_is_valid
protected

Definition at line 922 of file ValueObject.h.

Referenced by GetValueIsValid(), and SetValueIsValid().

◆ m_value_str

std::string lldb_private::ValueObject::m_value_str
protected

Definition at line 869 of file ValueObject.h.

Referenced by ClearUserVisibleData(), GetValueAsCString(), and UpdateValueIfNeeded().


The documentation for this class was generated from the following files: