LLDB  mainline
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
lldb_private::ValueObjectDynamicValue Class Reference

A ValueObject that represents memory at a given address, viewed as some set lldb type. More...

#include <ValueObjectDynamicValue.h>

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

Public Member Functions

 ~ValueObjectDynamicValue () override
 
llvm::Optional< uint64_t > GetByteSize () override
 
ConstString GetTypeName () override
 
ConstString GetQualifiedTypeName () override
 
ConstString GetDisplayTypeName () override
 
size_t CalculateNumChildren (uint32_t max) override
 Should only be called by ValueObject::GetNumChildren(). More...
 
lldb::ValueType GetValueType () const override
 
bool IsInScope () override
 
bool IsDynamic () override
 
bool IsBaseClass () override
 
bool GetIsConstant () const override
 
ValueObjectGetParent () override
 
const ValueObjectGetParent () const override
 
lldb::ValueObjectSP GetStaticValue () override
 
void SetOwningSP (lldb::ValueObjectSP &owning_sp)
 
bool SetValueFromCString (const char *value_str, Status &error) override
 
bool SetData (DataExtractor &data, Status &error) override
 
TypeImpl GetTypeImpl () override
 
lldb::VariableSP GetVariable () 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
 
- Public Member Functions inherited from lldb_private::ValueObject
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 bool CanProvideValue ()
 
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 ()
 
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 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 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. More...
 
ValueObjectGetRoot ()
 
ValueObjectFollowParentChain (std::function< bool(ValueObject *)>)
 Given a ValueObject, loop over itself and its parent, and its parent's parent, . More...
 
const StatusGetError ()
 
ConstString GetName () const
 
lldb::user_id_t GetID () const
 Returns a unique id for this ValueObject. More...
 
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)
 
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. More...
 
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 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. More...
 
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 DoesProvideSyntheticValue ()
 
virtual SymbolContextScopeGetSymbolContextScope ()
 
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. More...
 
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)
 
bool NeedsUpdating ()
 
void SetIsConstant ()
 
lldb::Format GetFormat () const
 
virtual void SetFormat (lldb::Format format)
 
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 ()
 
ValueObjectGetNonBaseClassParent ()
 
void SetAddressTypeOfChildren (AddressType at)
 
AddressType GetAddressTypeOfChildren ()
 
void SetHasCompleteType ()
 
virtual bool MightHaveChildren ()
 Find out if a ValueObject might have children. More...
 
virtual bool IsRuntimeSupportValue ()
 

Protected Member Functions

bool UpdateValue () override
 
LazyBool CanUpdateWithInvalidExecutionContext () override
 
lldb::DynamicValueType GetDynamicValueTypeImpl () override
 
bool HasDynamicValueTypeInfo () override
 
CompilerType GetCompilerTypeImpl () override
 
- Protected Member Functions inherited from lldb_private::ValueObject
 ValueObject (ExecutionContextScope *exe_scope, ValueObjectManager &manager, AddressType child_ptr_or_ref_addr_type=eAddressTypeLoad)
 Use this constructor to create a "root variable object". More...
 
 ValueObject (ValueObject &parent)
 Use this constructor to create a ValueObject owned by another ValueObject. More...
 
ValueObjectManagerGetManager ()
 
virtual void CalculateDynamicValue (lldb::DynamicValueType use_dynamic)
 
virtual void CalculateSyntheticValue ()
 
virtual ValueObjectCreateChildAtIndex (size_t idx, bool synthetic_array_member, int32_t synthetic_index)
 Should only be called by ValueObject::GetChildAtIndex(). More...
 
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 ()
 
const char * GetLocationAsCStringImpl (const Value &value, const DataExtractor &data)
 
bool IsChecksumEmpty ()
 
void SetPreferredDisplayLanguageIfNeeded (lldb::LanguageType)
 
virtual void DoUpdateChildrenAddressType (ValueObject &valobj)
 

Protected Attributes

Address m_address
 The variable that this value object is based upon. More...
 
TypeAndOrName m_dynamic_type_info
 
lldb::ValueObjectSP m_owning_valobj_sp
 
lldb::DynamicValueType m_use_dynamic
 
TypeImpl m_type_impl
 
- Protected Attributes inherited from lldb_private::ValueObject
ValueObjectm_parent = nullptr
 The parent value object, or nullptr if this has no parent. More...
 
ValueObjectm_root = nullptr
 The root of the hierarchy for this ValueObject (or nullptr if never calculated). More...
 
EvaluationPoint m_update_point
 Stores both the stop id and the full context at which this value was last updated. More...
 
ConstString m_name
 The name of this object. More...
 
DataExtractor m_data
 A data extractor that can be used to extract the value. More...
 
Value m_value
 
Status m_error
 An error object that can describe any errors that occur when updating values. More...
 
std::string m_value_str
 Cached value string that will get cleared if/when the value is updated. More...
 
std::string m_old_value_str
 Cached old value string from the last time the value was gotten. More...
 
std::string m_location_str
 Cached location string that will get cleared if/when the value is updated. More...
 
std::string m_summary_str
 Cached summary string that will get cleared if/when the value is updated. More...
 
std::string m_object_desc_str
 Cached result of the "object printer". More...
 
CompilerType m_override_type
 If the type of the value object should be overridden, the type to impose. More...
 
ValueObjectManagerm_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. More...
 
ChildrenManager m_children
 
std::map< ConstString, ValueObject * > m_synthetic_children
 
ValueObjectm_dynamic_value = nullptr
 
ValueObjectm_synthetic_value = nullptr
 
ValueObjectm_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. More...
 
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. More...
 
struct lldb_private::ValueObject::Bitflags m_flags
 

Private Member Functions

 ValueObjectDynamicValue (ValueObject &parent, lldb::DynamicValueType use_dynamic)
 
 ValueObjectDynamicValue (const ValueObjectDynamicValue &)=delete
 
const ValueObjectDynamicValueoperator= (const ValueObjectDynamicValue &)=delete
 

Friends

class ValueObject
 
class ValueObjectConstResult
 

Additional Inherited Members

- Public Types inherited from lldb_private::ValueObject
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  PrintableRepresentationSpecialCases : bool { PrintableRepresentationSpecialCases::eDisable = false, PrintableRepresentationSpecialCases::eAllow = true }
 
- Static Public Member Functions inherited from lldb_private::ValueObject
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 inherited from lldb_private::ValueObject
typedef ClusterManager< ValueObjectValueObjectManager
 

Detailed Description

A ValueObject that represents memory at a given address, viewed as some set lldb type.

Definition at line 33 of file ValueObjectDynamicValue.h.

Constructor & Destructor Documentation

◆ ~ValueObjectDynamicValue()

ValueObjectDynamicValue::~ValueObjectDynamicValue ( )
override

Definition at line 39 of file ValueObjectDynamicValue.cpp.

References m_owning_valobj_sp.

◆ ValueObjectDynamicValue() [1/2]

ValueObjectDynamicValue::ValueObjectDynamicValue ( ValueObject parent,
lldb::DynamicValueType  use_dynamic 
)
private

◆ ValueObjectDynamicValue() [2/2]

lldb_private::ValueObjectDynamicValue::ValueObjectDynamicValue ( const ValueObjectDynamicValue )
privatedelete

Member Function Documentation

◆ CalculateNumChildren()

size_t ValueObjectDynamicValue::CalculateNumChildren ( uint32_t  max)
overridevirtual

◆ CanUpdateWithInvalidExecutionContext()

LazyBool lldb_private::ValueObjectDynamicValue::CanUpdateWithInvalidExecutionContext ( )
inlineoverrideprotectedvirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 106 of file ValueObjectDynamicValue.h.

References lldb_private::eLazyBoolYes.

◆ GetByteSize()

llvm::Optional< uint64_t > ValueObjectDynamicValue::GetByteSize ( )
overridevirtual

◆ GetCompilerTypeImpl()

CompilerType ValueObjectDynamicValue::GetCompilerTypeImpl ( )
overrideprotectedvirtual

◆ GetDeclaration()

bool ValueObjectDynamicValue::GetDeclaration ( Declaration decl)
overridevirtual

◆ GetDisplayTypeName()

ConstString ValueObjectDynamicValue::GetDisplayTypeName ( )
overridevirtual

◆ GetDynamicValueTypeImpl()

lldb::DynamicValueType lldb_private::ValueObjectDynamicValue::GetDynamicValueTypeImpl ( )
inlineoverrideprotectedvirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 110 of file ValueObjectDynamicValue.h.

References m_use_dynamic.

◆ GetIsConstant()

bool lldb_private::ValueObjectDynamicValue::GetIsConstant ( ) const
inlineoverridevirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 59 of file ValueObjectDynamicValue.h.

◆ GetLanguageFlags()

uint64_t ValueObjectDynamicValue::GetLanguageFlags ( )
overridevirtual

◆ GetParent() [1/2]

const ValueObject* lldb_private::ValueObjectDynamicValue::GetParent ( ) const
inlineoverridevirtual

◆ GetParent() [2/2]

ValueObject* lldb_private::ValueObjectDynamicValue::GetParent ( )
inlineoverridevirtual

◆ GetPreferredDisplayLanguage()

lldb::LanguageType ValueObjectDynamicValue::GetPreferredDisplayLanguage ( )
overridevirtual

◆ GetQualifiedTypeName()

ConstString ValueObjectDynamicValue::GetQualifiedTypeName ( )
overridevirtual

◆ GetStaticValue()

lldb::ValueObjectSP lldb_private::ValueObjectDynamicValue::GetStaticValue ( )
inlineoverridevirtual

◆ GetTypeImpl()

TypeImpl ValueObjectDynamicValue::GetTypeImpl ( )
overridevirtual

◆ GetTypeName()

ConstString ValueObjectDynamicValue::GetTypeName ( )
overridevirtual

◆ GetValueType()

lldb::ValueType ValueObjectDynamicValue::GetValueType ( ) const
overridevirtual

◆ GetVariable()

lldb::VariableSP lldb_private::ValueObjectDynamicValue::GetVariable ( )
inlineoverridevirtual

◆ HasDynamicValueTypeInfo()

bool lldb_private::ValueObjectDynamicValue::HasDynamicValueTypeInfo ( )
inlineoverrideprotectedvirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 114 of file ValueObjectDynamicValue.h.

◆ IsBaseClass()

bool lldb_private::ValueObjectDynamicValue::IsBaseClass ( )
inlineoverridevirtual

◆ IsDynamic()

bool lldb_private::ValueObjectDynamicValue::IsDynamic ( )
inlineoverridevirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 51 of file ValueObjectDynamicValue.h.

◆ IsInScope()

bool ValueObjectDynamicValue::IsInScope ( )
overridevirtual

◆ IsSyntheticChildrenGenerated()

bool ValueObjectDynamicValue::IsSyntheticChildrenGenerated ( )
overridevirtual

◆ operator=()

const ValueObjectDynamicValue& lldb_private::ValueObjectDynamicValue::operator= ( const ValueObjectDynamicValue )
privatedelete

◆ SetData()

bool ValueObjectDynamicValue::SetData ( DataExtractor data,
Status error 
)
overridevirtual

◆ SetLanguageFlags()

void ValueObjectDynamicValue::SetLanguageFlags ( uint64_t  flags)
overridevirtual

◆ SetOwningSP()

void lldb_private::ValueObjectDynamicValue::SetOwningSP ( lldb::ValueObjectSP &  owning_sp)
inline

Definition at line 71 of file ValueObjectDynamicValue.h.

References m_owning_valobj_sp.

◆ SetPreferredDisplayLanguage()

void ValueObjectDynamicValue::SetPreferredDisplayLanguage ( lldb::LanguageType  lang)

◆ SetSyntheticChildrenGenerated()

void ValueObjectDynamicValue::SetSyntheticChildrenGenerated ( bool  b)
overridevirtual

◆ SetValueFromCString()

bool ValueObjectDynamicValue::SetValueFromCString ( const char *  value_str,
Status error 
)
overridevirtual

◆ UpdateValue()

bool ValueObjectDynamicValue::UpdateValue ( )
overrideprotectedvirtual

Implements lldb_private::ValueObject.

Definition at line 114 of file ValueObjectDynamicValue.cpp.

References lldb_private::ValueObject::CanProvideValue(), lldb_private::Status::Clear(), lldb_private::TypeImpl::Clear(), lldb_private::TypeAndOrName::Clear(), lldb_private::ValueObject::ClearDynamicTypeInformation(), lldb::eLanguageTypeC, lldb::eLanguageTypeC_plus_plus, lldb::eLanguageTypeObjC, lldb::eLanguageTypeUnknown, lldb::eNoDynamicValues, lldb_private::Status::Fail(), lldb_private::LanguageRuntime::FixUpDynamicType(), lldb_private::ArchSpec::GetAddressByteSize(), lldb_private::Target::GetArchitecture(), lldb_private::ArchSpec::GetByteOrder(), lldb_private::ValueObject::GetCompilerType(), lldb_private::TypeAndOrName::GetCompilerType(), lldb_private::LanguageRuntime::GetDynamicTypeAndAddress(), lldb_private::ValueObject::GetError(), lldb_private::ValueObject::GetExecutionContextRef(), lldb_private::Process::GetLanguageRuntime(), lldb_private::Address::GetLoadAddress(), lldb_private::GetLogIfAllCategoriesSet(), lldb_private::ValueObject::GetModule(), lldb_private::ValueObject::GetName(), lldb_private::ValueObject::GetObjectRuntimeLanguage(), lldb_private::ExecutionContext::GetProcessPtr(), lldb_private::Value::GetScalar(), lldb_private::ExecutionContext::GetTargetPtr(), lldb_private::ValueObject::GetTargetSP(), GetTypeName(), lldb_private::ValueObject::GetValue(), lldb_private::Value::GetValueAsData(), lldb_private::Value::GetValueType(), lldb_private::TypeAndOrName::HasType(), lldb_private::Address::IsValid(), LIBLLDB_LOG_TYPES, LLDB_LOGF, m_address, lldb_private::ValueObject::m_data, m_dynamic_type_info, lldb_private::ValueObject::m_error, lldb_private::ValueObject::m_parent, m_type_impl, lldb_private::ValueObject::m_update_point, m_use_dynamic, lldb_private::ValueObject::m_value, lldb_private::DataExtractor::SetAddressByteSize(), lldb_private::DataExtractor::SetByteOrder(), lldb_private::Value::SetCompilerType(), lldb_private::ValueObject::EvaluationPoint::SetUpdated(), lldb_private::ValueObject::SetValueDidChange(), lldb_private::ValueObject::SetValueIsValid(), lldb_private::Value::SetValueType(), lldb_private::Status::Success(), and lldb_private::ValueObject::UpdateValueIfNeeded().

Friends And Related Function Documentation

◆ ValueObject

friend class ValueObject
friend

Definition at line 125 of file ValueObjectDynamicValue.h.

◆ ValueObjectConstResult

friend class ValueObjectConstResult
friend

Definition at line 126 of file ValueObjectDynamicValue.h.

Member Data Documentation

◆ m_address

Address lldb_private::ValueObjectDynamicValue::m_address
protected

The variable that this value object is based upon.

Definition at line 118 of file ValueObjectDynamicValue.h.

Referenced by UpdateValue().

◆ m_dynamic_type_info

TypeAndOrName lldb_private::ValueObjectDynamicValue::m_dynamic_type_info
protected

◆ m_owning_valobj_sp

lldb::ValueObjectSP lldb_private::ValueObjectDynamicValue::m_owning_valobj_sp
protected

Definition at line 120 of file ValueObjectDynamicValue.h.

Referenced by SetOwningSP(), and ~ValueObjectDynamicValue().

◆ m_type_impl

TypeImpl lldb_private::ValueObjectDynamicValue::m_type_impl
protected

Definition at line 122 of file ValueObjectDynamicValue.h.

Referenced by GetTypeImpl(), and UpdateValue().

◆ m_use_dynamic

lldb::DynamicValueType lldb_private::ValueObjectDynamicValue::m_use_dynamic
protected

Definition at line 121 of file ValueObjectDynamicValue.h.

Referenced by GetDynamicValueTypeImpl(), and UpdateValue().


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