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

A frozen ValueObject copied into host memory. More...

#include <ValueObjectConstResult.h>

Inheritance diagram for lldb_private::ValueObjectConstResult:
Inheritance graph
[legend]

Public Member Functions

 ~ValueObjectConstResult () override
 
std::optional< uint64_t > GetByteSize () override
 
lldb::ValueType GetValueType () const override
 
llvm::Expected< uint32_t > CalculateNumChildren (uint32_t max) override
 Should only be called by ValueObject::GetNumChildren().
 
ConstString GetTypeName () override
 
ConstString GetDisplayTypeName () override
 
bool IsInScope () override
 
void SetByteSize (size_t size)
 
lldb::ValueObjectSP Dereference (Status &error) override
 
lldb::ValueObjectSP GetSyntheticChildAtOffset (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString()) override
 
lldb::ValueObjectSP AddressOf (Status &error) override
 
lldb::addr_t GetAddressOf (bool scalar_is_load_address=true, AddressType *address_type=nullptr) override
 
size_t GetPointeeData (DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1) override
 
lldb::addr_t GetLiveAddress () override
 
void SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad) override
 
lldb::ValueObjectSP GetDynamicValue (lldb::DynamicValueType valueType) override
 
lldb::LanguageType GetPreferredDisplayLanguage () override
 
lldb::ValueObjectSP DoCast (const CompilerType &compiler_type) 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 TypeImpl GetTypeImpl ()
 
virtual bool CanProvideValue ()
 
virtual std::optional< uint64_t > GetByteSize ()=0
 
virtual lldb::ValueType GetValueType () const =0
 
virtual ConstString GetTypeName ()
 
virtual ConstString GetDisplayTypeName ()
 
virtual ConstString GetQualifiedTypeName ()
 
lldb::LanguageType GetObjectRuntimeLanguage ()
 
uint32_t GetTypeInfo (CompilerType *pointee_or_element_compiler_type=nullptr)
 
bool IsPointerType ()
 
bool IsArrayType ()
 
bool IsScalarType ()
 
bool IsPointerOrReferenceType ()
 
bool IsPossibleDynamicType ()
 
bool IsNilReference ()
 
bool IsUninitializedReference ()
 
virtual bool IsBaseClass ()
 
bool IsBaseClass (uint32_t &depth)
 
virtual bool IsDereferenceOfParent ()
 
bool IsIntegerType (bool &is_signed)
 
virtual void GetExpressionPath (Stream &s, GetExpressionPathFormat=eGetExpressionPathFormatDereferencePointers)
 
lldb::ValueObjectSP GetValueForExpressionPath (llvm::StringRef expression, ExpressionPathScanEndReason *reason_to_stop=nullptr, ExpressionPathEndResultType *final_value_type=nullptr, const GetValueForExpressionPathOptions &options=GetValueForExpressionPathOptions::DefaultOptions(), ExpressionPathAftermath *final_task_on_target=nullptr)
 
virtual bool IsInScope ()
 
virtual lldb::offset_t GetByteOffset ()
 
virtual uint32_t GetBitfieldBitSize ()
 
virtual uint32_t GetBitfieldBitOffset ()
 
bool IsBitfield ()
 
virtual const char * GetValueAsCString ()
 
virtual bool GetValueAsCString (const lldb_private::TypeFormatImpl &format, std::string &destination)
 
bool GetValueAsCString (lldb::Format format, std::string &destination)
 
virtual uint64_t GetValueAsUnsigned (uint64_t fail_value, bool *success=nullptr)
 
virtual int64_t GetValueAsSigned (int64_t fail_value, bool *success=nullptr)
 
llvm::Expected< llvm::APSInt > GetValueAsAPSInt ()
 If the current ValueObject is of an appropriate type, convert the value to an APSInt and return that.
 
llvm::Expected< llvm::APFloat > GetValueAsAPFloat ()
 If the current ValueObject is of an appropriate type, convert the value to an APFloat and return that.
 
llvm::Expected< bool > GetValueAsBool ()
 If the current ValueObject is of an appropriate type, convert the value to a boolean and return that.
 
void SetValueFromInteger (const llvm::APInt &value, Status &error)
 Update an existing integer ValueObject with a new integer value.
 
void SetValueFromInteger (lldb::ValueObjectSP new_val_sp, Status &error)
 Update an existing integer ValueObject with an integer value created frome 'new_val_sp'.
 
virtual bool SetValueFromCString (const char *value_str, Status &error)
 
virtual lldb::ModuleSP GetModule ()
 Return the module associated with this value object in case the value is from an executable file and might have its data in sections of the file.
 
ValueObjectGetRoot ()
 
ValueObjectFollowParentChain (std::function< bool(ValueObject *)>)
 Given a ValueObject, loop over itself and its parent, and its parent's parent, .
 
virtual bool GetDeclaration (Declaration &decl)
 
const StatusGetError ()
 
ConstString GetName () const
 
lldb::user_id_t GetID () const
 Returns a unique id for this ValueObject.
 
virtual lldb::ValueObjectSP GetChildAtIndex (uint32_t idx, bool can_create=true)
 
lldb::ValueObjectSP GetChildAtNamePath (llvm::ArrayRef< llvm::StringRef > names)
 
virtual lldb::ValueObjectSP GetChildMemberWithName (llvm::StringRef name, bool can_create=true)
 
virtual size_t GetIndexOfChildWithName (llvm::StringRef name)
 
llvm::Expected< uint32_t > GetNumChildren (uint32_t max=UINT32_MAX)
 
uint32_t GetNumChildrenIgnoringErrors (uint32_t max=UINT32_MAX)
 Like GetNumChildren but returns 0 on error.
 
bool HasChildren ()
 
const 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)
 
llvm::Expected< std::string > GetObjectDescription ()
 
bool HasSpecialPrintableRepresentation (ValueObjectRepresentationStyle val_obj_display, lldb::Format custom_format)
 
bool DumpPrintableRepresentation (Stream &s, ValueObjectRepresentationStyle val_obj_display=eValueObjectRepresentationStyleSummary, lldb::Format custom_format=lldb::eFormatInvalid, PrintableRepresentationSpecialCases special=PrintableRepresentationSpecialCases::eAllow, bool do_dump_error=true)
 
bool GetValueIsValid () const
 
bool GetValueDidChange ()
 
bool UpdateValueIfNeeded (bool update_format=true)
 
bool UpdateFormatsIfNeeded ()
 
lldb::ValueObjectSP GetSP ()
 
void SetName (ConstString name)
 Change the name of the current ValueObject.
 
virtual lldb::addr_t GetAddressOf (bool scalar_is_load_address=true, AddressType *address_type=nullptr)
 
lldb::addr_t GetPointerValue (AddressType *address_type=nullptr)
 
lldb::ValueObjectSP GetSyntheticChild (ConstString key) const
 
lldb::ValueObjectSP GetSyntheticArrayMember (size_t index, bool can_create)
 
lldb::ValueObjectSP GetSyntheticBitFieldChild (uint32_t from, uint32_t to, bool can_create)
 
lldb::ValueObjectSP GetSyntheticExpressionPathChild (const char *expression, bool can_create)
 
virtual lldb::ValueObjectSP GetSyntheticChildAtOffset (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString())
 
virtual lldb::ValueObjectSP GetSyntheticBase (uint32_t offset, const CompilerType &type, bool can_create, ConstString name_const_str=ConstString())
 
virtual lldb::ValueObjectSP GetDynamicValue (lldb::DynamicValueType valueType)
 
lldb::DynamicValueType GetDynamicValueType ()
 
virtual lldb::ValueObjectSP GetStaticValue ()
 
virtual lldb::ValueObjectSP GetNonSyntheticValue ()
 
lldb::ValueObjectSP GetSyntheticValue ()
 
virtual bool HasSyntheticValue ()
 
virtual bool IsSynthetic ()
 
lldb::ValueObjectSP GetQualifiedRepresentationIfAvailable (lldb::DynamicValueType dynValue, bool synthValue)
 
virtual lldb::ValueObjectSP CreateConstantValue (ConstString name)
 
virtual lldb::ValueObjectSP Dereference (Status &error)
 
virtual lldb::ValueObjectSP Clone (ConstString new_name)
 Creates a copy of the ValueObject with a new name and setting the current ValueObject as its parent.
 
virtual lldb::ValueObjectSP AddressOf (Status &error)
 
virtual lldb::addr_t GetLiveAddress ()
 
virtual void SetLiveAddress (lldb::addr_t addr=LLDB_INVALID_ADDRESS, AddressType address_type=eAddressTypeLoad)
 
lldb::ValueObjectSP Cast (const CompilerType &compiler_type)
 
virtual lldb::ValueObjectSP DoCast (const CompilerType &compiler_type)
 
virtual lldb::ValueObjectSP CastPointerType (const char *name, CompilerType &ast_type)
 
virtual lldb::ValueObjectSP CastPointerType (const char *name, lldb::TypeSP &type_sp)
 
lldb::addr_t GetLoadAddress ()
 Return the target load address associated with this value object.
 
llvm::Expected< lldb::ValueObjectSPCastDerivedToBaseType (CompilerType type, const llvm::ArrayRef< uint32_t > &base_type_indices)
 Take a ValueObject whose type is an inherited class, and cast it to 'type', which should be one of its base classes.
 
llvm::Expected< lldb::ValueObjectSPCastBaseToDerivedType (CompilerType type, uint64_t offset)
 Take a ValueObject whose type is a base class, and cast it to 'type', which should be one of its derived classes.
 
lldb::ValueObjectSP CastToBasicType (CompilerType type)
 
lldb::ValueObjectSP CastToEnumType (CompilerType type)
 
lldb::ValueObjectSP GetVTable ()
 If this object represents a C++ class with a vtable, return an object that represents the virtual function table.
 
void ValueUpdated ()
 
virtual bool IsDynamic ()
 
virtual bool DoesProvideSyntheticValue ()
 
virtual bool IsSyntheticChildrenGenerated ()
 
virtual void SetSyntheticChildrenGenerated (bool b)
 
virtual SymbolContextScopeGetSymbolContextScope ()
 
llvm::Error Dump (Stream &s)
 
llvm::Error Dump (Stream &s, const DumpValueObjectOptions &options)
 
lldb::ValueObjectSP Persist ()
 
bool IsCStringContainer (bool check_pointer=false)
 Returns true if this is a char* or a char[] if it is a char* and check_pointer is true, it also checks that the pointer is valid.
 
std::pair< size_t, bool > ReadPointedString (lldb::WritableDataBufferSP &buffer_sp, Status &error, bool honor_array)
 
virtual size_t GetPointeeData (DataExtractor &data, uint32_t item_idx=0, uint32_t item_count=1)
 
virtual uint64_t GetData (DataExtractor &data, Status &error)
 
virtual bool SetData (DataExtractor &data, Status &error)
 
virtual bool GetIsConstant () const
 
bool NeedsUpdating ()
 
void SetIsConstant ()
 
lldb::Format GetFormat () const
 
virtual void SetFormat (lldb::Format format)
 
virtual lldb::LanguageType GetPreferredDisplayLanguage ()
 
void SetPreferredDisplayLanguage (lldb::LanguageType lt)
 
lldb::TypeSummaryImplSP GetSummaryFormat ()
 
void SetSummaryFormat (lldb::TypeSummaryImplSP format)
 
void SetDerefValobj (ValueObject *deref)
 
ValueObjectGetDerefValobj ()
 
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.
 
virtual lldb::VariableSP GetVariable ()
 
virtual bool IsRuntimeSupportValue ()
 
virtual uint64_t GetLanguageFlags ()
 
virtual void SetLanguageFlags (uint64_t flags)
 

Static Public Member Functions

static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address=LLDB_INVALID_ADDRESS)
 
static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, const CompilerType &compiler_type, ConstString name, const DataExtractor &data, lldb::addr_t address=LLDB_INVALID_ADDRESS)
 
static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, const CompilerType &compiler_type, ConstString name, const lldb::DataBufferSP &result_data_sp, lldb::ByteOrder byte_order, uint32_t addr_size, lldb::addr_t address=LLDB_INVALID_ADDRESS)
 
static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, const CompilerType &compiler_type, ConstString name, lldb::addr_t address, AddressType address_type, uint32_t addr_byte_size)
 
static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, Value &value, ConstString name, Module *module=nullptr)
 
static lldb::ValueObjectSP Create (ExecutionContextScope *exe_scope, const Status &error)
 
- 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, bool do_deref=true)
 Given an address either create a value object containing the value at that address, or create a value object containing the address itself (pointer value), depending on whether the parameter 'do_deref' is true or false.
 
static lldb::ValueObjectSP CreateValueObjectFromData (llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type)
 
static lldb::ValueObjectSP CreateValueObjectFromAPInt (lldb::TargetSP target, const llvm::APInt &v, CompilerType type, llvm::StringRef name)
 Create a value object containing the given APInt value.
 
static lldb::ValueObjectSP CreateValueObjectFromAPFloat (lldb::TargetSP target, const llvm::APFloat &v, CompilerType type, llvm::StringRef name)
 Create a value object containing the given APFloat value.
 
static lldb::ValueObjectSP CreateValueObjectFromBool (lldb::TargetSP target, bool value, llvm::StringRef name)
 Create a value object containing the given boolean value.
 
static lldb::ValueObjectSP CreateValueObjectFromNullptr (lldb::TargetSP target, CompilerType type, llvm::StringRef name)
 Create a nullptr value object with the specified type (must be a nullptr type).
 

Protected Member Functions

bool UpdateValue () 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".
 
 ValueObject (ValueObject &parent)
 Use this constructor to create a ValueObject owned by another ValueObject.
 
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 ()
 
virtual ValueObjectCreateChildAtIndex (size_t idx)
 Should only be called by ValueObject::GetChildAtIndex().
 
virtual ValueObjectCreateSyntheticArrayMember (size_t idx)
 Should only be called by ValueObject::GetSyntheticArrayMember().
 
virtual llvm::Expected< uint32_t > CalculateNumChildren (uint32_t max=UINT32_MAX)=0
 Should only be called by ValueObject::GetNumChildren().
 
void SetNumChildren (uint32_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)
 
virtual void DoUpdateChildrenAddressType (ValueObject &valobj)
 

Protected Attributes

ConstString m_type_name
 
std::optional< uint64_t > m_byte_size
 
ValueObjectConstResultImpl m_impl
 
- Protected Attributes inherited from lldb_private::ValueObject
ValueObjectm_parent = nullptr
 The parent value object, or nullptr if this has no parent.
 
ValueObjectm_root = nullptr
 The root of the hierarchy for this ValueObject (or nullptr if never calculated).
 
EvaluationPoint m_update_point
 Stores both the stop id and the full context at which this value was last updated.
 
ConstString m_name
 The name of this object.
 
DataExtractor m_data
 A data extractor that can be used to extract the value.
 
Value m_value
 
Status m_error
 An error object that can describe any errors that occur when updating values.
 
std::string m_value_str
 Cached value string that will get cleared if/when the value is updated.
 
std::string m_old_value_str
 Cached old value string from the last time the value was gotten.
 
std::string m_location_str
 Cached location string that will get cleared if/when the value is updated.
 
std::string m_summary_str
 Cached summary string that will get cleared if/when the value is updated.
 
std::string m_object_desc_str
 Cached result of the "object printer".
 
CompilerType m_override_type
 If the type of the value object should be overridden, the type to impose.
 
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.
 
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.
 
lldb::Format m_format = lldb::eFormatDefault
 
lldb::Format m_last_format = lldb::eFormatDefault
 
uint32_t m_last_format_mgr_revision = 0
 
lldb::TypeSummaryImplSP m_type_summary_sp
 
lldb::TypeFormatImplSP m_type_format_sp
 
lldb::SyntheticChildrenSP m_synthetic_children_sp
 
ProcessModID m_user_id_of_forced_summary
 
AddressType m_address_type_of_ptr_or_ref_children = eAddressTypeInvalid
 
llvm::SmallVector< uint8_t, 16 > m_value_checksum
 
lldb::LanguageType m_preferred_display_language = lldb::eLanguageTypeUnknown
 
uint64_t m_language_flags = 0
 
UserID m_id
 Unique identifier for every value object.
 
struct lldb_private::ValueObject::Bitflags m_flags
 

Private Member Functions

 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, lldb::ByteOrder byte_order, uint32_t addr_byte_size, lldb::addr_t address)
 
 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, const CompilerType &compiler_type, ConstString name, const DataExtractor &data, lldb::addr_t address)
 
 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, const CompilerType &compiler_type, ConstString name, const lldb::DataBufferSP &result_data_sp, lldb::ByteOrder byte_order, uint32_t addr_size, lldb::addr_t address)
 
 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, const CompilerType &compiler_type, ConstString name, lldb::addr_t address, AddressType address_type, uint32_t addr_byte_size)
 
 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, const Value &value, ConstString name, Module *module=nullptr)
 
 ValueObjectConstResult (ExecutionContextScope *exe_scope, ValueObjectManager &manager, const Status &error)
 
ValueObjectCreateChildAtIndex (size_t idx) override
 Should only be called by ValueObject::GetChildAtIndex().
 
ValueObjectCreateSyntheticArrayMember (size_t idx) override
 Should only be called by ValueObject::GetSyntheticArrayMember().
 
 ValueObjectConstResult (const ValueObjectConstResult &)=delete
 
const ValueObjectConstResultoperator= (const ValueObjectConstResult &)=delete
 

Friends

class ValueObjectConstResultImpl
 

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

Detailed Description

A frozen ValueObject copied into host memory.

Definition at line 34 of file ValueObjectConstResult.h.

Constructor & Destructor Documentation

◆ ~ValueObjectConstResult()

ValueObjectConstResult::~ValueObjectConstResult ( )
overridedefault

◆ ValueObjectConstResult() [1/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
lldb::ByteOrder  byte_order,
uint32_t  addr_byte_size,
lldb::addr_t  address 
)
private

◆ ValueObjectConstResult() [2/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
const CompilerType compiler_type,
ConstString  name,
const DataExtractor data,
lldb::addr_t  address 
)
private

◆ ValueObjectConstResult() [3/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
const CompilerType compiler_type,
ConstString  name,
const lldb::DataBufferSP result_data_sp,
lldb::ByteOrder  byte_order,
uint32_t  addr_size,
lldb::addr_t  address 
)
private

◆ ValueObjectConstResult() [4/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
const CompilerType compiler_type,
ConstString  name,
lldb::addr_t  address,
AddressType  address_type,
uint32_t  addr_byte_size 
)
private

◆ ValueObjectConstResult() [5/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
const Value value,
ConstString  name,
Module module = nullptr 
)
private

◆ ValueObjectConstResult() [6/7]

ValueObjectConstResult::ValueObjectConstResult ( ExecutionContextScope exe_scope,
ValueObjectManager manager,
const Status error 
)
private

◆ ValueObjectConstResult() [7/7]

lldb_private::ValueObjectConstResult::ValueObjectConstResult ( const ValueObjectConstResult )
privatedelete

Member Function Documentation

◆ AddressOf()

lldb::ValueObjectSP ValueObjectConstResult::AddressOf ( Status error)
overridevirtual

◆ CalculateNumChildren()

llvm::Expected< uint32_t > ValueObjectConstResult::CalculateNumChildren ( uint32_t  max)
overridevirtual

◆ Create() [1/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
const CompilerType compiler_type,
ConstString  name,
const DataExtractor data,
lldb::addr_t  address = LLDB_INVALID_ADDRESS 
)
static

◆ Create() [2/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
const CompilerType compiler_type,
ConstString  name,
const lldb::DataBufferSP result_data_sp,
lldb::ByteOrder  byte_order,
uint32_t  addr_size,
lldb::addr_t  address = LLDB_INVALID_ADDRESS 
)
static

◆ Create() [3/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
const CompilerType compiler_type,
ConstString  name,
lldb::addr_t  address,
AddressType  address_type,
uint32_t  addr_byte_size 
)
static

◆ Create() [4/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
const Status error 
)
static

◆ Create() [5/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
lldb::ByteOrder  byte_order,
uint32_t  addr_byte_size,
lldb::addr_t  address = LLDB_INVALID_ADDRESS 
)
static

Definition at line 29 of file ValueObjectConstResult.cpp.

References lldb_private::ClusterManager< T >::Create().

Referenced by lldb_private::ValueObject::AddressOf(), lldb_private::ValueObjectConstResultImpl::AddressOf(), lldb_private::ValueObject::Cast(), lldb_private::ClangExpressionVariable::ClangExpressionVariable(), lldb_private::ValueObject::CreateConstantValue(), lldb_private::ValueObject::CreateValueObjectFromAddress(), lldb_private::ValueObject::CreateValueObjectFromData(), EntityPersistentVariable::Dematerialize(), EntityResultVariable::Dematerialize(), dump_type_value(), lldb_private::UserExpression::Evaluate(), lldb::SBFrame::EvaluateExpression(), lldb::SBTarget::EvaluateExpression(), lldb_private::Target::EvaluateExpression(), lldb_private::AppleObjCRuntime::GetBacktraceThreadFromException(), lldb_private::formatters::VectorTypeSyntheticFrontEnd::GetChildAtIndex(), lldb_private::formatters::BlockPointerSyntheticFrontEnd::GetChildAtIndex(), lldb::SBTypeStaticField::GetConstantValue(), NSIndexPathSyntheticFrontEnd::Impl::InlinedIndexes::GetIndexAtIndex(), ABIMacOSX_arm64::GetReturnValueObjectImpl(), ABISysV_arm64::GetReturnValueObjectImpl(), ABIMacOSX_arm::GetReturnValueObjectImpl(), ABISysV_arm::GetReturnValueObjectImpl(), ABIMacOSX_i386::GetReturnValueObjectImpl(), ABISysV_mips::GetReturnValueObjectImpl(), ABISysV_mips64::GetReturnValueObjectImpl(), ABISysV_ppc::GetReturnValueObjectImpl(), ABISysV_x86_64::GetReturnValueObjectImpl(), ABIWindows_x86_64::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectImpl(), ABISysV_hexagon::GetReturnValueObjectImpl(), ABISysV_riscv::GetReturnValueObjectImpl(), ABISysV_arc::GetReturnValueObjectSimple(), ABISysV_ppc::GetReturnValueObjectSimple(), ABISysV_riscv::GetReturnValueObjectSimple(), ABISysV_s390x::GetReturnValueObjectSimple(), ABISysV_i386::GetReturnValueObjectSimple(), ABISysV_x86_64::GetReturnValueObjectSimple(), ABIWindows_x86_64::GetReturnValueObjectSimple(), lldb_private::Thread::GetSiginfoValue(), GetValObjFromFPRegs(), GetValObjFromIntRegs(), EntityPersistentVariable::MakeAllocation(), ObjCExceptionRecognizedStackFrame::ObjCExceptionRecognizedStackFrame(), lldb_private::ValueObject::Persist(), and lldb_private::AbortWithPayloadFrameRecognizer::RecognizeFrame().

◆ Create() [6/6]

ValueObjectSP ValueObjectConstResult::Create ( ExecutionContextScope exe_scope,
Value value,
ConstString  name,
Module module = nullptr 
)
static

◆ CreateChildAtIndex()

ValueObject * lldb_private::ValueObjectConstResult::CreateChildAtIndex ( size_t  idx)
inlineoverrideprivatevirtual

Should only be called by ValueObject::GetChildAtIndex().

Returns
A ValueObject managed by this ValueObject's manager.

Reimplemented from lldb_private::ValueObject.

Definition at line 151 of file ValueObjectConstResult.h.

References lldb_private::ValueObjectConstResultImpl::CreateChildAtIndex(), and m_impl.

◆ CreateSyntheticArrayMember()

ValueObject * lldb_private::ValueObjectConstResult::CreateSyntheticArrayMember ( size_t  idx)
inlineoverrideprivatevirtual

Should only be called by ValueObject::GetSyntheticArrayMember().

Returns
A ValueObject managed by this ValueObject's manager.

Reimplemented from lldb_private::ValueObject.

Definition at line 154 of file ValueObjectConstResult.h.

References lldb_private::ValueObjectConstResultImpl::CreateSyntheticArrayMember(), and m_impl.

◆ Dereference()

lldb::ValueObjectSP ValueObjectConstResult::Dereference ( Status error)
overridevirtual

◆ DoCast()

lldb::ValueObjectSP ValueObjectConstResult::DoCast ( const CompilerType compiler_type)
overridevirtual

◆ GetAddressOf()

lldb::addr_t ValueObjectConstResult::GetAddressOf ( bool  scalar_is_load_address = true,
AddressType address_type = nullptr 
)
overridevirtual

◆ GetByteSize()

std::optional< uint64_t > ValueObjectConstResult::GetByteSize ( )
overridevirtual

◆ GetCompilerTypeImpl()

CompilerType ValueObjectConstResult::GetCompilerTypeImpl ( )
overrideprotectedvirtual

◆ GetDisplayTypeName()

ConstString ValueObjectConstResult::GetDisplayTypeName ( )
overridevirtual

◆ GetDynamicValue()

lldb::ValueObjectSP ValueObjectConstResult::GetDynamicValue ( lldb::DynamicValueType  valueType)
overridevirtual

◆ GetLiveAddress()

lldb::addr_t lldb_private::ValueObjectConstResult::GetLiveAddress ( )
inlineoverridevirtual

◆ GetPointeeData()

size_t ValueObjectConstResult::GetPointeeData ( DataExtractor data,
uint32_t  item_idx = 0,
uint32_t  item_count = 1 
)
overridevirtual

◆ GetPreferredDisplayLanguage()

lldb::LanguageType ValueObjectConstResult::GetPreferredDisplayLanguage ( )
overridevirtual

◆ GetSyntheticChildAtOffset()

lldb::ValueObjectSP ValueObjectConstResult::GetSyntheticChildAtOffset ( uint32_t  offset,
const CompilerType type,
bool  can_create,
ConstString  name_const_str = ConstString() 
)
overridevirtual

◆ GetTypeName()

ConstString ValueObjectConstResult::GetTypeName ( )
overridevirtual

◆ GetValueType()

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

Implements lldb_private::ValueObject.

Definition at line 203 of file ValueObjectConstResult.cpp.

References lldb::eValueTypeConstResult.

◆ IsInScope()

bool ValueObjectConstResult::IsInScope ( )
overridevirtual

Reimplemented from lldb_private::ValueObject.

Definition at line 244 of file ValueObjectConstResult.cpp.

◆ operator=()

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

◆ SetByteSize()

void ValueObjectConstResult::SetByteSize ( size_t  size)

Definition at line 217 of file ValueObjectConstResult.cpp.

References m_byte_size.

Referenced by GetByteSize().

◆ SetLiveAddress()

void lldb_private::ValueObjectConstResult::SetLiveAddress ( lldb::addr_t  addr = LLDB_INVALID_ADDRESS,
AddressType  address_type = eAddressTypeLoad 
)
inlineoverridevirtual

◆ UpdateValue()

bool ValueObjectConstResult::UpdateValue ( )
overrideprotectedvirtual

Friends And Related Function Documentation

◆ ValueObjectConstResultImpl

friend class ValueObjectConstResultImpl
friend

Definition at line 119 of file ValueObjectConstResult.h.

Member Data Documentation

◆ m_byte_size

std::optional<uint64_t> lldb_private::ValueObjectConstResult::m_byte_size
protected

Definition at line 114 of file ValueObjectConstResult.h.

Referenced by GetByteSize(), and SetByteSize().

◆ m_impl

ValueObjectConstResultImpl lldb_private::ValueObjectConstResult::m_impl
protected

◆ m_type_name

ConstString lldb_private::ValueObjectConstResult::m_type_name
protected

Definition at line 113 of file ValueObjectConstResult.h.

Referenced by GetTypeName().


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