LLDB mainline
lldb::SBValue Class Reference

#include <SBValue.h>

Public Member Functions

 SBValue ()
 SBValue (const lldb::SBValue &rhs)
lldb::SBValueoperator= (const lldb::SBValue &rhs)
 ~SBValue ()
 operator bool () const
bool IsValid ()
void Clear ()
SBError GetError ()
lldb::user_id_t GetID ()
const char * GetName ()
const char * GetTypeName ()
const char * GetDisplayTypeName ()
size_t GetByteSize ()
bool IsInScope ()
lldb::Format GetFormat ()
void SetFormat (lldb::Format format)
const char * GetValue ()
int64_t GetValueAsSigned (lldb::SBError &error, int64_t fail_value=0)
uint64_t GetValueAsUnsigned (lldb::SBError &error, uint64_t fail_value=0)
int64_t GetValueAsSigned (int64_t fail_value=0)
uint64_t GetValueAsUnsigned (uint64_t fail_value=0)
lldb::addr_t GetValueAsAddress ()
ValueType GetValueType ()
bool GetValueDidChange ()
const char * GetSummary ()
const char * GetSummary (lldb::SBStream &stream, lldb::SBTypeSummaryOptions &options)
const char * GetObjectDescription ()
lldb::SBValue GetDynamicValue (lldb::DynamicValueType use_dynamic)
lldb::SBValue GetStaticValue ()
lldb::SBValue GetNonSyntheticValue ()
lldb::SBValue GetSyntheticValue ()
lldb::DynamicValueType GetPreferDynamicValue ()
void SetPreferDynamicValue (lldb::DynamicValueType use_dynamic)
bool GetPreferSyntheticValue ()
void SetPreferSyntheticValue (bool use_synthetic)
bool IsDynamic ()
bool IsSynthetic ()
bool IsSyntheticChildrenGenerated ()
void SetSyntheticChildrenGenerated (bool)
const char * GetLocation ()
 LLDB_DEPRECATED_FIXME ("Use the variant that takes an SBError &", "SetValueFromCString(const char *, SBError &)") bool SetValueFromCString(const char *value_str)
bool SetValueFromCString (const char *value_str, lldb::SBError &error)
lldb::SBTypeFormat GetTypeFormat ()
lldb::SBTypeSummary GetTypeSummary ()
lldb::SBTypeFilter GetTypeFilter ()
lldb::SBTypeSynthetic GetTypeSynthetic ()
lldb::SBValue GetChildAtIndex (uint32_t idx)
lldb::SBValue CreateChildAtOffset (const char *name, uint32_t offset, lldb::SBType type)
lldb::SBValue Cast (lldb::SBType type)
lldb::SBValue CreateValueFromExpression (const char *name, const char *expression)
lldb::SBValue CreateValueFromExpression (const char *name, const char *expression, SBExpressionOptions &options)
lldb::SBValue CreateValueFromAddress (const char *name, lldb::addr_t address, lldb::SBType type)
lldb::SBValue CreateValueFromData (const char *name, lldb::SBData data, lldb::SBType type)
lldb::SBValue CreateBoolValue (const char *name, bool value)
lldb::SBValue GetChildAtIndex (uint32_t idx, lldb::DynamicValueType use_dynamic, bool treat_as_array)
 Get a child value by index from a value.
uint32_t GetIndexOfChildWithName (const char *name)
lldb::SBValue GetChildMemberWithName (const char *name)
lldb::SBValue GetChildMemberWithName (const char *name, lldb::DynamicValueType use_dynamic)
lldb::SBValue GetValueForExpressionPath (const char *expr_path)
lldb::SBValue AddressOf ()
lldb::addr_t GetLoadAddress ()
lldb::SBAddress GetAddress ()
lldb::SBData GetPointeeData (uint32_t item_idx=0, uint32_t item_count=1)
 Get an SBData wrapping what this SBValue points to.
lldb::SBData GetData ()
 Get an SBData wrapping the contents of this SBValue.
bool SetData (lldb::SBData &data, lldb::SBError &error)
lldb::SBValue Clone (const char *new_name)
 Creates a copy of the SBValue with a new name and setting the current SBValue as its parent.
lldb::SBDeclaration GetDeclaration ()
bool MightHaveChildren ()
 Find out if a SBValue might have children.
bool IsRuntimeSupportValue ()
uint32_t GetNumChildren ()
 Return the number of children of this variable.
uint32_t GetNumChildren (uint32_t max)
 Return the numer of children of this variable, with a hint that the caller is interested in at most max children.
void * GetOpaqueType ()
lldb::SBTarget GetTarget ()
lldb::SBProcess GetProcess ()
lldb::SBThread GetThread ()
lldb::SBFrame GetFrame ()
lldb::SBValue Dereference ()
 LLDB_DEPRECATED ("Use GetType().IsPointerType() instead") bool TypeIsPointerType()
lldb::SBType GetType ()
lldb::SBValue Persist ()
bool GetDescription (lldb::SBStream &description)
bool GetExpressionPath (lldb::SBStream &description)
bool GetExpressionPath (lldb::SBStream &description, bool qualify_cxx_base_classes)
lldb::SBValue EvaluateExpression (const char *expr) const
lldb::SBValue EvaluateExpression (const char *expr, const SBExpressionOptions &options) const
lldb::SBValue EvaluateExpression (const char *expr, const SBExpressionOptions &options, const char *name) const
lldb::SBWatchpoint Watch (bool resolve_location, bool read, bool write, SBError &error)
 Watch this value if it resides in memory.
lldb::SBWatchpoint Watch (bool resolve_location, bool read, bool write)
lldb::SBWatchpoint WatchPointee (bool resolve_location, bool read, bool write, SBError &error)
 Watch this value that this value points to in memory.
lldb::SBValue GetVTable ()
 If this value represents a C++ class that has a vtable, return an value that represents the virtual function table.

Protected Member Functions

 SBValue (const lldb::ValueObjectSP &value_sp)
lldb::ValueObjectSP GetSP () const
 Same as the protected version of GetSP that takes a locker, except that we make the locker locally in the function.
lldb::ValueObjectSP GetSP (ValueLocker &value_locker) const
 Get the appropriate ValueObjectSP from this SBValue, consulting the use_dynamic and use_synthetic options passed in to SetSP when the SBValue's contents were set.
void SetSP (const lldb::ValueObjectSP &sp)
void SetSP (const lldb::ValueObjectSP &sp, bool use_synthetic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic)
void SetSP (const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic, bool use_synthetic, const char *name)

Private Types

typedef std::shared_ptr< ValueImplValueImplSP

Private Member Functions

void SetSP (ValueImplSP impl_sp)

Private Attributes

ValueImplSP m_opaque_sp

Friends

class SBBlock
class SBCommandReturnObject
class SBFrame
class SBModule
class SBTarget
class SBThread
class SBType
class SBTypeStaticField
class SBTypeSummary
class SBValueList
class lldb_private::python::SWIGBridge

Detailed Description

Definition at line 27 of file SBValue.h.

Member Typedef Documentation

◆ ValueImplSP

typedef std::shared_ptr<ValueImpl> lldb::SBValue::ValueImplSP
private

Definition at line 507 of file SBValue.h.

Constructor & Destructor Documentation

◆ SBValue() [1/3]

◆ SBValue() [2/3]

SBValue::SBValue ( const lldb::SBValue & rhs)

Definition at line 228 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

◆ ~SBValue()

◆ SBValue() [3/3]

SBValue::SBValue ( const lldb::ValueObjectSP & value_sp)
protected

Definition at line 222 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, and SetSP().

Member Function Documentation

◆ AddressOf()

lldb::SBValue SBValue::AddressOf ( )

◆ Cast()

◆ Clear()

void SBValue::Clear ( )

Definition at line 259 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBValue().

◆ Clone()

lldb::SBValue SBValue::Clone ( const char * new_name)

Creates a copy of the SBValue with a new name and setting the current SBValue as its parent.

It should be used when we want to change the name of a SBValue without modifying the actual SBValue itself (e.g. sythetic child provider).

Definition at line 1427 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBValue.

Referenced by LLDB_DEPRECATED_FIXME().

◆ CreateBoolValue()

lldb::SBValue SBValue::CreateBoolValue ( const char * name,
bool value )

◆ CreateChildAtOffset()

lldb::SBValue SBValue::CreateChildAtOffset ( const char * name,
uint32_t offset,
lldb::SBType type )

◆ CreateValueFromAddress()

lldb::SBValue SBValue::CreateValueFromAddress ( const char * name,
lldb::addr_t address,
lldb::SBType type )

◆ CreateValueFromData()

◆ CreateValueFromExpression() [1/2]

lldb::SBValue SBValue::CreateValueFromExpression ( const char * name,
const char * expression )

◆ CreateValueFromExpression() [2/2]

lldb::SBValue SBValue::CreateValueFromExpression ( const char * name,
const char * expression,
SBExpressionOptions & options )

◆ Dereference()

SBValue SBValue::Dereference ( )

Definition at line 1011 of file SBValue.cpp.

References Dereference(), error(), GetSP(), LLDB_INSTRUMENT_VA, and SBValue().

Referenced by Dereference(), LLDB_DEPRECATED_FIXME(), and WatchPointee().

◆ EvaluateExpression() [1/3]

◆ EvaluateExpression() [2/3]

lldb::SBValue SBValue::EvaluateExpression ( const char * expr,
const SBExpressionOptions & options ) const

Definition at line 1214 of file SBValue.cpp.

References EvaluateExpression(), and LLDB_INSTRUMENT_VA.

◆ EvaluateExpression() [3/3]

lldb::SBValue SBValue::EvaluateExpression ( const char * expr,
const SBExpressionOptions & options,
const char * name ) const

◆ GetAddress()

◆ GetByteSize()

size_t SBValue::GetByteSize ( )

Definition at line 324 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by Watch(), and ~SBValue().

◆ GetChildAtIndex() [1/2]

SBValue SBValue::GetChildAtIndex ( uint32_t idx)

◆ GetChildAtIndex() [2/2]

SBValue SBValue::GetChildAtIndex ( uint32_t idx,
lldb::DynamicValueType use_dynamic,
bool treat_as_array )

Get a child value by index from a value.

Structs, unions, classes, arrays and pointers have child values that can be access by index.

Structs and unions access child members using a zero based index for each child member. For

Classes reserve the first indexes for base classes that have members (empty base classes are omitted), and all members of the current class will then follow the base classes.

For array and pointers the behavior of the function depends on the value of the treat_as_array argument. If false, the function returns members of the array as given by the array bounds. If the value is a pointer to a simple type, the child at index zero is the only child value available. If the pointer points to an aggregate type (an array, class, union, etc.), then the pointee is transparently skipped and any children are going to be the indexes of the child values within the aggregate type. For example if we have a 'Point' type and we have a SBValue that contains a pointer to a 'Point' type, then the child at index zero will be the 'x' member, and the child at index 1 will be the 'y' member (the child at index zero won't be a 'Point' instance). If treat_as_array is true, pointer values will be used as a (C) array and and the function will create 'synthetic' child values using positive or negative indexes. In case of arrays, the function will return values which are outside of the array bounds.

If you actually need an SBValue that represents the type pointed to by a SBValue for which GetType().IsPointeeType() returns true, regardless of the pointee type, you can do that with SBValue::Dereference.

Parameters
[in]idxThe index of the child value to get
[in]use_dynamicAn enumeration that specifies whether to get dynamic values, and also if the target can be run to figure out the dynamic type of the child value.
[in]treat_as_arrayIf true, then allow child values to be created by index for pointers and arrays for indexes that normally wouldn't be allowed.
Returns
A new SBValue object that represents the child member value.

Definition at line 680 of file SBValue.cpp.

References GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, SBValue(), and SetSP().

◆ GetChildMemberWithName() [1/2]

SBValue SBValue::GetChildMemberWithName ( const char * name)

◆ GetChildMemberWithName() [2/2]

SBValue SBValue::GetChildMemberWithName ( const char * name,
lldb::DynamicValueType use_dynamic )

Definition at line 731 of file SBValue.cpp.

References GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, SBValue(), and SetSP().

◆ GetData()

lldb::SBData SBValue::GetData ( )

Get an SBData wrapping the contents of this SBValue.

This method will read the contents of this object in memory and copy them into an SBData for future use.

Returns
An SBData with the contents of this SBValue, on success. An empty SBData otherwise.

Definition at line 1376 of file SBValue.cpp.

References error(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetDeclaration()

lldb::SBDeclaration SBValue::GetDeclaration ( )

Definition at line 1439 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBDeclaration::SetDeclaration().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetDescription()

◆ GetDisplayTypeName()

const char * SBValue::GetDisplayTypeName ( )

Definition at line 313 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetDynamicValue()

lldb::SBValue SBValue::GetDynamicValue ( lldb::DynamicValueType use_dynamic)

Definition at line 749 of file SBValue.cpp.

References IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

Referenced by ~SBValue().

◆ GetError()

◆ GetExpressionPath() [1/2]

bool SBValue::GetExpressionPath ( lldb::SBStream & description)

Definition at line 1168 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().

Referenced by LLDB_DEPRECATED().

◆ GetExpressionPath() [2/2]

bool SBValue::GetExpressionPath ( lldb::SBStream & description,
bool qualify_cxx_base_classes )

Definition at line 1180 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().

◆ GetFormat()

lldb::Format SBValue::GetFormat ( )

Definition at line 1284 of file SBValue.cpp.

References lldb::eFormatDefault, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetFrame()

lldb::SBFrame SBValue::GetFrame ( )

Definition at line 1081 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, SBFrame, and lldb::SBFrame::SetFrameSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetID()

user_id_t SBValue::GetID ( )

Definition at line 281 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_UID.

Referenced by ~SBValue().

◆ GetIndexOfChildWithName()

uint32_t SBValue::GetIndexOfChildWithName ( const char * name)

Definition at line 703 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and UINT32_MAX.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetLoadAddress()

lldb::addr_t SBValue::GetLoadAddress ( )

Definition at line 1318 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_ADDRESS.

Referenced by LLDB_DEPRECATED_FIXME(), and Watch().

◆ GetLocation()

const char * SBValue::GetLocation ( )

Definition at line 444 of file SBValue.cpp.

References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetName()

const char * SBValue::GetName ( )

Definition at line 291 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

◆ GetNonSyntheticValue()

lldb::SBValue SBValue::GetNonSyntheticValue ( )

Definition at line 774 of file SBValue.cpp.

References IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

Referenced by ~SBValue().

◆ GetNumChildren() [1/2]

uint32_t SBValue::GetNumChildren ( )

Return the number of children of this variable.

Note that for some variables this operation can be expensive. If possible, prefer calling GetNumChildren(max) with the maximum number of children you are interested in.

Definition at line 992 of file SBValue.cpp.

References GetNumChildren(), LLDB_INSTRUMENT_VA, and UINT32_MAX.

Referenced by GetNumChildren(), and LLDB_DEPRECATED_FIXME().

◆ GetNumChildren() [2/2]

uint32_t SBValue::GetNumChildren ( uint32_t max)

Return the numer of children of this variable, with a hint that the caller is interested in at most max children.

Use this function to avoid expensive child computations in some cases. For example, if you know you will only ever display 100 elements, calling GetNumChildren(100) can avoid enumerating all the other children. If the returned value is smaller than max, then it represents the true number of children, otherwise it indicates that their number is at least max. Do not assume the returned number will always be less than or equal to max, as the implementation may choose to return a larger (but still smaller than the actual number of children) value.

Definition at line 998 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

◆ GetObjectDescription()

const char * SBValue::GetObjectDescription ( )

Definition at line 374 of file SBValue.cpp.

References lldb_private::ConstString::AsCString(), GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetOpaqueType()

void * SBValue::GetOpaqueType ( )

Definition at line 1032 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetPointeeData()

lldb::SBData SBValue::GetPointeeData ( uint32_t item_idx = 0,
uint32_t item_count = 1 )

Get an SBData wrapping what this SBValue points to.

This method will dereference the current SBValue, if its data type is a T* or T[], and extract item_count elements of type T from it, copying their contents in an SBData.

Parameters
[in]item_idxThe index of the first item to retrieve. For an array this is equivalent to array[item_idx], for a pointer to *(pointer + item_idx). In either case, the measurement unit for item_idx is the sizeof(T) rather than the byte
[in]item_countHow many items should be copied into the output. By default only one item is copied, but more can be asked for.
Returns
An SBData with the contents of the copied items, on success. An empty SBData otherwise.

Definition at line 1357 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetPreferDynamicValue()

lldb::DynamicValueType SBValue::GetPreferDynamicValue ( )

◆ GetPreferSyntheticValue()

bool SBValue::GetPreferSyntheticValue ( )

◆ GetProcess()

lldb::SBProcess SBValue::GetProcess ( )

Definition at line 1055 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBProcess::SetSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetSP() [1/2]

lldb::ValueObjectSP SBValue::GetSP ( ) const
protected

Same as the protected version of GetSP that takes a locker, except that we make the locker locally in the function.

Since the Target API mutex is recursive, and the StopLocker is a read lock, you can call this function even if you are already holding the two above-mentioned locks.

Returns
A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the SBValue's settings.

Definition at line 1107 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by AddressOf(), Cast(), Clone(), CreateBoolValue(), CreateChildAtOffset(), CreateValueFromAddress(), CreateValueFromData(), CreateValueFromExpression(), Dereference(), lldb::SBTypeSummary::DoesPrintValue(), EvaluateExpression(), EvaluateExpression(), GetAddress(), GetByteSize(), GetChildAtIndex(), GetChildMemberWithName(), GetData(), GetDeclaration(), GetDescription(), GetDisplayTypeName(), GetError(), GetExpressionPath(), GetExpressionPath(), GetFormat(), GetID(), GetIndexOfChildWithName(), GetLoadAddress(), GetLocation(), GetName(), GetNumChildren(), GetObjectDescription(), GetOpaqueType(), GetPointeeData(), GetSP(), GetSummary(), GetSummary(), GetType(), GetTypeFilter(), GetTypeFormat(), GetTypeName(), GetTypeSummary(), GetTypeSynthetic(), GetValue(), GetValueAsAddress(), GetValueAsSigned(), GetValueAsSigned(), GetValueAsUnsigned(), GetValueAsUnsigned(), GetValueDidChange(), GetValueForExpressionPath(), GetValueType(), GetVTable(), IsDynamic(), IsInScope(), IsRuntimeSupportValue(), IsSynthetic(), IsSyntheticChildrenGenerated(), lldb_private::python::SWIGBridge, MightHaveChildren(), Persist(), lldb::SBThread::ReturnFromFrame(), SetData(), SetFormat(), SetSyntheticChildrenGenerated(), and Watch().

◆ GetSP() [2/2]

lldb::ValueObjectSP SBValue::GetSP ( ValueLocker & value_locker) const
protected

Get the appropriate ValueObjectSP from this SBValue, consulting the use_dynamic and use_synthetic options passed in to SetSP when the SBValue's contents were set.

Since this often requires examining memory, and maybe even running code, it needs to acquire the Target API and Process StopLock. Those are held in an opaque class ValueLocker which is currently local to SBValue.cpp. So you don't have to get these yourself just default construct a ValueLocker, and pass it into this. If we need to make a ValueLocker and use it in some other .cpp file, we'll have to move it to ValueObject.h/cpp or somewhere else convenient. We haven't needed to so far.

Parameters
[in]value_lockerAn object that will hold the Target API, and Process RunLocks, and auto-destroy them when it goes out of scope. Currently this is only useful in SBValue.cpp.
Returns
A ValueObjectSP of the best kind (static, dynamic or synthetic) we can cons up, in accordance with the SBValue's settings.

Definition at line 1094 of file SBValue.cpp.

References lldb_private::Status::FromErrorString(), ValueLocker::GetError(), ValueLocker::GetLockedSP(), and m_opaque_sp.

◆ GetStaticValue()

lldb::SBValue SBValue::GetStaticValue ( )

Definition at line 761 of file SBValue.cpp.

References lldb::eNoDynamicValues, IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

Referenced by ~SBValue().

◆ GetSummary() [1/2]

const char * SBValue::GetSummary ( )

◆ GetSummary() [2/2]

◆ GetSyntheticValue()

lldb::SBValue SBValue::GetSyntheticValue ( )

Definition at line 786 of file SBValue.cpp.

References IsSynthetic(), IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

Referenced by ~SBValue().

◆ GetTarget()

lldb::SBTarget SBValue::GetTarget ( )

Definition at line 1042 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, SBTarget, and lldb::SBTarget::SetSP().

Referenced by LLDB_DEPRECATED_FIXME(), and Watch().

◆ GetThread()

lldb::SBThread SBValue::GetThread ( )

Definition at line 1068 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, SBThread, and lldb::SBThread::SetThread().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetType()

SBType SBValue::GetType ( )

Definition at line 390 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, SBType, and lldb::SBType::SetSP().

Referenced by LLDB_DEPRECATED(), and WatchPointee().

◆ GetTypeFilter()

lldb::SBTypeFilter SBValue::GetTypeFilter ( )

Definition at line 510 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeFilter::SetSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetTypeFormat()

lldb::SBTypeFormat SBValue::GetTypeFormat ( )

Definition at line 478 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeFormat::SetSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetTypeName()

const char * SBValue::GetTypeName ( )

Definition at line 302 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetTypeSummary()

lldb::SBTypeSummary SBValue::GetTypeSummary ( )

Definition at line 494 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeSummary::SetSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetTypeSynthetic()

lldb::SBTypeSynthetic SBValue::GetTypeSynthetic ( )

Definition at line 530 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeSynthetic::SetSP().

Referenced by LLDB_DEPRECATED_FIXME().

◆ GetValue()

const char * SBValue::GetValue ( )

◆ GetValueAsAddress()

lldb::addr_t SBValue::GetValueAsAddress ( )

Definition at line 949 of file SBValue.cpp.

References GetSP(), LLDB_INVALID_ADDRESS, and m_opaque_sp.

Referenced by ~SBValue().

◆ GetValueAsSigned() [1/2]

int64_t SBValue::GetValueAsSigned ( int64_t fail_value = 0)

Definition at line 927 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

◆ GetValueAsSigned() [2/2]

int64_t SBValue::GetValueAsSigned ( lldb::SBError & error,
int64_t fail_value = 0 )

◆ GetValueAsUnsigned() [1/2]

uint64_t SBValue::GetValueAsUnsigned ( lldb::SBError & error,
uint64_t fail_value = 0 )

◆ GetValueAsUnsigned() [2/2]

uint64_t SBValue::GetValueAsUnsigned ( uint64_t fail_value = 0)

Definition at line 938 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

◆ GetValueDidChange()

bool SBValue::GetValueDidChange ( )

Definition at line 405 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetValueForExpressionPath()

lldb::SBValue SBValue::GetValueForExpressionPath ( const char * expr_path)

◆ GetValueType()

ValueType SBValue::GetValueType ( )

Definition at line 362 of file SBValue.cpp.

References lldb::eValueTypeInvalid, GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ GetVTable()

lldb::SBValue SBValue::GetVTable ( )

If this value represents a C++ class that has a vtable, return an value that represents the virtual function table.

SBValue::GetError() will be in the success state if this value represents a C++ class with a vtable, or an appropriate error describing that the object isn't a C++ class with a vtable or not a C++ class.

SBValue::GetName() will be the demangled symbol name for the virtual function table like "vtable for <classname>".

SBValue::GetValue() will be the address of the first vtable entry if the current SBValue is a class with a vtable, or nothing the current SBValue is not a C++ class or not a C++ class that has a vtable.

SBValue::GetValueAtUnsigned(...) will return the address of the first vtable entry.

SBValue::GetLoadAddress() will return the address of the vtable pointer found in the parent SBValue.

SBValue::GetNumChildren() will return the number of virtual function pointers in the vtable, or zero on error.

SBValue::GetChildAtIndex(...) will return each virtual function pointer as a SBValue object.

The child SBValue objects will have the following values:

SBValue::GetError() will indicate success if the vtable entry was successfully read from memory, or an error if not.

SBValue::GetName() will be the vtable function index in the form "[%u]" where u is the index.

SBValue::GetValue() will be the virtual function pointer value as a string.

SBValue::GetValueAtUnsigned(...) will return the virtual function pointer value.

SBValue::GetLoadAddress() will return the address of the virtual function pointer.

SBValue::GetNumChildren() returns 0

Definition at line 1554 of file SBValue.cpp.

References GetSP(), SBValue(), and SetSP().

Referenced by LLDB_DEPRECATED().

◆ IsDynamic()

bool SBValue::IsDynamic ( )

Definition at line 831 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ IsInScope()

bool SBValue::IsInScope ( )

Definition at line 338 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by Watch(), WatchPointee(), and ~SBValue().

◆ IsRuntimeSupportValue()

bool SBValue::IsRuntimeSupportValue ( )

Definition at line 980 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ IsSynthetic()

bool SBValue::IsSynthetic ( )

Definition at line 841 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by GetSyntheticValue(), and ~SBValue().

◆ IsSyntheticChildrenGenerated()

bool SBValue::IsSyntheticChildrenGenerated ( )

Definition at line 851 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ IsValid()

◆ LLDB_DEPRECATED()

lldb::SBValue::LLDB_DEPRECATED ( "Use GetType().IsPointerType() instead" )

◆ LLDB_DEPRECATED_FIXME()

◆ MightHaveChildren()

bool SBValue::MightHaveChildren ( )

Find out if a SBValue might have children.

This call is much more efficient than GetNumChildren() 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 SBValue might have children, or false otherwise.

Definition at line 968 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by LLDB_DEPRECATED_FIXME().

◆ operator bool()

SBValue::operator bool ( ) const
explicit

Definition at line 249 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

◆ operator=()

SBValue & SBValue::operator= ( const lldb::SBValue & rhs)

Definition at line 234 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, SBValue(), and SetSP().

◆ Persist()

lldb::SBValue SBValue::Persist ( )

Definition at line 1542 of file SBValue.cpp.

References GetSP(), LLDB_INSTRUMENT_VA, SBValue(), and SetSP().

Referenced by LLDB_DEPRECATED().

◆ SetData()

◆ SetFormat()

void SBValue::SetFormat ( lldb::Format format)

Definition at line 1294 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ SetPreferDynamicValue()

void SBValue::SetPreferDynamicValue ( lldb::DynamicValueType use_dynamic)

Definition at line 809 of file SBValue.cpp.

References IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBValue().

◆ SetPreferSyntheticValue()

void SBValue::SetPreferSyntheticValue ( bool use_synthetic)

Definition at line 824 of file SBValue.cpp.

References IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBValue().

◆ SetSP() [1/6]

◆ SetSP() [2/6]

void SBValue::SetSP ( const lldb::ValueObjectSP & sp,
bool use_synthetic )
protected

Definition at line 1144 of file SBValue.cpp.

References lldb::eNoDynamicValues, SetSP(), and sp.

◆ SetSP() [3/6]

void SBValue::SetSP ( const lldb::ValueObjectSP & sp,
lldb::DynamicValueType use_dynamic )
protected

Definition at line 1130 of file SBValue.cpp.

References SetSP(), and sp.

◆ SetSP() [4/6]

void SBValue::SetSP ( const lldb::ValueObjectSP & sp,
lldb::DynamicValueType use_dynamic,
bool use_synthetic )
protected

Definition at line 1156 of file SBValue.cpp.

References m_opaque_sp, and sp.

◆ SetSP() [5/6]

void SBValue::SetSP ( const lldb::ValueObjectSP & sp,
lldb::DynamicValueType use_dynamic,
bool use_synthetic,
const char * name )
protected

Definition at line 1161 of file SBValue.cpp.

References m_opaque_sp, and sp.

◆ SetSP() [6/6]

void SBValue::SetSP ( ValueImplSP impl_sp)
private

Definition at line 1114 of file SBValue.cpp.

References m_opaque_sp.

◆ SetSyntheticChildrenGenerated()

void SBValue::SetSyntheticChildrenGenerated ( bool is)

Definition at line 861 of file SBValue.cpp.

References GetSP(), and LLDB_INSTRUMENT_VA.

Referenced by ~SBValue().

◆ SetValueFromCString()

bool SBValue::SetValueFromCString ( const char * value_str,
lldb::SBError & error )

Definition at line 456 of file SBValue.cpp.

References LLDB_INSTRUMENT_VA, and SetValueFromCString().

Referenced by LLDB_DEPRECATED_FIXME(), and SetValueFromCString().

◆ Watch() [1/2]

lldb::SBWatchpoint SBValue::Watch ( bool resolve_location,
bool read,
bool write )

Definition at line 1524 of file SBValue.cpp.

References error(), LLDB_INSTRUMENT_VA, and Watch().

◆ Watch() [2/2]

lldb::SBWatchpoint SBValue::Watch ( bool resolve_location,
bool read,
bool write,
SBError & error )

Watch this value if it resides in memory.

Sets a watchpoint on the value.

Parameters
[in]resolve_locationResolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.
[in]readStop when this value is accessed.
[in]writeStop when this value is modified
[out]errorAn error object. Contains the reason if there is some failure.
Returns
An SBWatchpoint object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use.

Definition at line 1453 of file SBValue.cpp.

References lldb_private::Status::AsCString(), lldb_private::Declaration::DumpStopContext(), error(), lldb_private::Status::FromErrorString(), lldb_private::Status::FromErrorStringWithFormat(), GetByteSize(), ValueLocker::GetError(), lldb_private::Declaration::GetFile(), GetLoadAddress(), GetSP(), lldb_private::StreamString::GetString(), GetTarget(), IsInScope(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, LLDB_WATCH_TYPE_MODIFY, LLDB_WATCH_TYPE_READ, LLDB_WATCH_TYPE_WRITE, and lldb::SBWatchpoint::SetSP().

Referenced by LLDB_DEPRECATED(), Watch(), and WatchPointee().

◆ WatchPointee()

lldb::SBWatchpoint SBValue::WatchPointee ( bool resolve_location,
bool read,
bool write,
SBError & error )

Watch this value that this value points to in memory.

Sets a watchpoint on the value.

Parameters
[in]resolve_locationResolve the location of this value once and watch its address. This value must currently be set to true as watching all locations of a variable or a variable path is not yet supported, though we plan to support it in the future.
[in]readStop when this value is accessed.
[in]writeStop when this value is modified
[out]errorAn error object. Contains the reason if there is some failure.
Returns
An SBWatchpoint object. This object might not be valid upon return due to a value not being contained in memory, too large, or watchpoint resources are not available or all in use.

Definition at line 1532 of file SBValue.cpp.

References Dereference(), error(), GetType(), IsInScope(), LLDB_INSTRUMENT_VA, and Watch().

Referenced by LLDB_DEPRECATED().

◆ lldb_private::python::SWIGBridge

friend class lldb_private::python::SWIGBridge
friend

Definition at line 450 of file SBValue.h.

References GetSP(), lldb_private::python::SWIGBridge, SBValue(), SetSP(), and sp.

Referenced by lldb_private::python::SWIGBridge.

◆ SBBlock

friend class SBBlock
friend

Definition at line 439 of file SBValue.h.

References SBBlock.

Referenced by SBBlock.

◆ SBCommandReturnObject

friend class SBCommandReturnObject
friend

Definition at line 440 of file SBValue.h.

References SBCommandReturnObject.

Referenced by SBCommandReturnObject.

◆ SBFrame

friend class SBFrame
friend

Definition at line 441 of file SBValue.h.

References SBFrame.

Referenced by GetFrame(), LLDB_DEPRECATED_FIXME(), and SBFrame.

◆ SBModule

friend class SBModule
friend

Definition at line 442 of file SBValue.h.

References SBModule.

Referenced by SBModule.

◆ SBTarget

friend class SBTarget
friend

Definition at line 443 of file SBValue.h.

References SBTarget.

Referenced by GetTarget(), LLDB_DEPRECATED_FIXME(), and SBTarget.

◆ SBThread

friend class SBThread
friend

Definition at line 444 of file SBValue.h.

References SBThread.

Referenced by GetThread(), LLDB_DEPRECATED_FIXME(), and SBThread.

◆ SBType

◆ SBTypeStaticField

friend class SBTypeStaticField
friend

Definition at line 446 of file SBValue.h.

References SBTypeStaticField.

Referenced by SBTypeStaticField.

◆ SBTypeSummary

friend class SBTypeSummary
friend

Definition at line 447 of file SBValue.h.

References SBTypeSummary.

Referenced by LLDB_DEPRECATED_FIXME(), and SBTypeSummary.

◆ SBValueList

friend class SBValueList
friend

Definition at line 448 of file SBValue.h.

References SBValueList.

Referenced by SBValueList.

Member Data Documentation

◆ m_opaque_sp


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