LLDB mainline
|
#include <SBValue.h>
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< ValueImpl > | ValueImplSP |
Private Member Functions | |
void | SetSP (ValueImplSP impl_sp) |
Private Attributes | |
ValueImplSP | m_opaque_sp |
Friends | |
class | SBBlock |
class | SBFrame |
class | SBModule |
class | SBTarget |
class | SBThread |
class | SBTypeSummary |
class | SBValueList |
class | lldb_private::python::SWIGBridge |
|
private |
SBValue::SBValue | ( | ) |
Definition at line 219 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA.
Referenced by EvaluateExpression().
SBValue::SBValue | ( | const lldb::SBValue & | rhs | ) |
Definition at line 227 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and SetSP().
|
default |
|
protected |
Definition at line 221 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, and SetSP().
lldb::SBValue SBValue::AddressOf | ( | ) |
Definition at line 1239 of file SBValue.cpp.
References error(), GetPreferDynamicValue(), GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
lldb::SBValue SBValue::Cast | ( | lldb::SBType | type | ) |
Definition at line 563 of file SBValue.cpp.
References GetPreferDynamicValue(), GetPreferSyntheticValue(), lldb::SBType::GetSP(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
void SBValue::Clear | ( | ) |
Definition at line 258 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, and m_opaque_sp.
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 1383 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBValue SBValue::CreateChildAtOffset | ( | const char * | name, |
uint32_t | offset, | ||
lldb::SBType | type | ||
) |
Definition at line 544 of file SBValue.cpp.
References GetPreferDynamicValue(), GetPreferSyntheticValue(), lldb::SBType::GetSP(), GetSP(), lldb::SBType::IsValid(), LLDB_INSTRUMENT_VA, and SetSP().
lldb::SBValue SBValue::CreateValueFromAddress | ( | const char * | name, |
lldb::addr_t | address, | ||
lldb::SBType | type | ||
) |
Definition at line 605 of file SBValue.cpp.
References lldb_private::ValueObject::CreateValueObjectFromAddress(), lldb::SBType::GetSP(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
lldb::SBValue SBValue::CreateValueFromData | ( | const char * | name, |
lldb::SBData | data, | ||
lldb::SBType | type | ||
) |
Definition at line 625 of file SBValue.cpp.
References lldb_private::ValueObject::CreateValueObjectFromData(), lldb_private::eAddressTypeLoad, lldb::SBType::GetSP(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
lldb::SBValue SBValue::CreateValueFromExpression | ( | const char * | name, |
const char * | expression | ||
) |
Definition at line 576 of file SBValue.cpp.
References CreateValueFromExpression(), LLDB_INSTRUMENT_VA, lldb::SBExpressionOptions::ref(), and lldb_private::EvaluateExpressionOptions::SetKeepInMemory().
Referenced by CreateValueFromExpression().
lldb::SBValue SBValue::CreateValueFromExpression | ( | const char * | name, |
const char * | expression, | ||
SBExpressionOptions & | options | ||
) |
Definition at line 585 of file SBValue.cpp.
References lldb_private::ValueObject::CreateValueObjectFromExpression(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBExpressionOptions::ref(), and SetSP().
SBValue SBValue::Dereference | ( | ) |
Definition at line 954 of file SBValue.cpp.
References Dereference(), error(), GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by Dereference(), and WatchPointee().
lldb::SBValue SBValue::EvaluateExpression | ( | const char * | expr | ) | const |
Definition at line 1136 of file SBValue.cpp.
References EvaluateExpression(), GetSP(), LLDB_INSTRUMENT_VA, SBValue(), lldb::SBExpressionOptions::SetFetchDynamicValue(), lldb::SBExpressionOptions::SetIgnoreBreakpoints(), and lldb::SBExpressionOptions::SetUnwindOnError().
Referenced by EvaluateExpression().
lldb::SBValue SBValue::EvaluateExpression | ( | const char * | expr, |
const SBExpressionOptions & | options | ||
) | const |
Definition at line 1157 of file SBValue.cpp.
References EvaluateExpression(), and LLDB_INSTRUMENT_VA.
lldb::SBValue SBValue::EvaluateExpression | ( | const char * | expr, |
const SBExpressionOptions & | options, | ||
const char * | name | ||
) | const |
Definition at line 1164 of file SBValue.cpp.
References lldb::SBExpressionOptions::GetFetchDynamicValue(), lldb_private::ExecutionContext::GetFramePtr(), GetSP(), LLDB_INSTRUMENT_VA, lldb::SBExpressionOptions::ref(), SBValue(), and SetSP().
lldb::SBAddress SBValue::GetAddress | ( | ) |
Definition at line 1284 of file SBValue.cpp.
References lldb_private::eAddressTypeFile, lldb_private::eAddressTypeLoad, GetSP(), LLDB_INSTRUMENT_VA, LLDB_INVALID_ADDRESS, and lldb_private::Address::SetLoadAddress().
size_t SBValue::GetByteSize | ( | ) |
Definition at line 323 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by Watch().
SBValue SBValue::GetChildAtIndex | ( | uint32_t | idx | ) |
Definition at line 644 of file SBValue.cpp.
References lldb::eNoDynamicValues, GetChildAtIndex(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
Referenced by GetChildAtIndex().
SBValue SBValue::GetChildAtIndex | ( | uint32_t | idx, |
lldb::DynamicValueType | use_dynamic, | ||
bool | can_create_synthetic | ||
) |
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.
Pointers differ depending on what they point to. If the pointer points to a simple type, the child at index zero is the only child value available, unless synthetic_allowed is true, in which case the pointer will be used as an array and can create 'synthetic' child values using positive or negative indexes. If the pointer points to an aggregate type (an array, class, union, struct), 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 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.
Arrays have a preset number of children that can be accessed by index and will returns invalid child values for indexes that are out of bounds unless the synthetic_allowed is true. In this case the array can create 'synthetic' child values for indexes that aren't in the array bounds using positive or negative indexes.
[in] | idx | The index of the child value to get |
[in] | use_dynamic | An 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] | can_create_synthetic | If true, then allow child values to be created by index for pointers and arrays for indexes that normally wouldn't be allowed. |
Definition at line 659 of file SBValue.cpp.
References GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
SBValue SBValue::GetChildMemberWithName | ( | const char * | name | ) |
Definition at line 694 of file SBValue.cpp.
References lldb::eNoDynamicValues, GetChildMemberWithName(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
Referenced by GetChildMemberWithName().
SBValue SBValue::GetChildMemberWithName | ( | const char * | name, |
lldb::DynamicValueType | use_dynamic | ||
) |
Definition at line 708 of file SBValue.cpp.
References GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
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.
Definition at line 1332 of file SBValue.cpp.
References error(), GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBDeclaration SBValue::GetDeclaration | ( | ) |
Definition at line 1395 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBDeclaration::SetDeclaration().
bool SBValue::GetDescription | ( | lldb::SBStream & | description | ) |
Definition at line 1205 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, lldb_private::Stream::PutCString(), and lldb::SBStream::ref().
const char * SBValue::GetDisplayTypeName | ( | ) |
Definition at line 312 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBValue SBValue::GetDynamicValue | ( | lldb::DynamicValueType | use_dynamic | ) |
Definition at line 726 of file SBValue.cpp.
References IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, and SetSP().
SBError SBValue::GetError | ( | ) |
Definition at line 264 of file SBValue.cpp.
References lldb_private::Status::AsCString(), ValueLocker::GetError(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBError::SetError().
Referenced by lldb::SBFrame::EvaluateExpression().
bool SBValue::GetExpressionPath | ( | lldb::SBStream & | description | ) |
Definition at line 1111 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().
bool SBValue::GetExpressionPath | ( | lldb::SBStream & | description, |
bool | qualify_cxx_base_classes | ||
) |
Definition at line 1123 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBStream::ref().
lldb::Format SBValue::GetFormat | ( | ) |
Definition at line 1220 of file SBValue.cpp.
References lldb::eFormatDefault, GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBFrame SBValue::GetFrame | ( | ) |
Definition at line 1024 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBFrame::SetFrameSP().
user_id_t SBValue::GetID | ( | ) |
Definition at line 280 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_UID.
uint32_t SBValue::GetIndexOfChildWithName | ( | const char * | name | ) |
Definition at line 682 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and UINT32_MAX.
lldb::addr_t SBValue::GetLoadAddress | ( | ) |
Definition at line 1254 of file SBValue.cpp.
References lldb_private::eAddressTypeFile, lldb_private::eAddressTypeHost, lldb_private::eAddressTypeInvalid, lldb_private::Address::GetLoadAddress(), GetSP(), LLDB_INSTRUMENT_VA, and LLDB_INVALID_ADDRESS.
Referenced by Watch().
const char * SBValue::GetLocation | ( | ) |
Definition at line 438 of file SBValue.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
const char * SBValue::GetName | ( | ) |
Definition at line 290 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBValue SBValue::GetNonSyntheticValue | ( | ) |
Definition at line 751 of file SBValue.cpp.
References IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, and SetSP().
uint32_t SBValue::GetNumChildren | ( | ) |
Definition at line 935 of file SBValue.cpp.
References GetNumChildren(), LLDB_INSTRUMENT_VA, and UINT32_MAX.
Referenced by GetNumChildren().
uint32_t SBValue::GetNumChildren | ( | uint32_t | max | ) |
Definition at line 941 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
const char * SBValue::GetObjectDescription | ( | ) |
Definition at line 373 of file SBValue.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
void * SBValue::GetOpaqueType | ( | ) |
Definition at line 975 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
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.
[in] | item_idx | The 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_count | How many items should be copied into the output. By default only one item is copied, but more can be asked for. |
Definition at line 1313 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::DynamicValueType SBValue::GetPreferDynamicValue | ( | ) |
Definition at line 763 of file SBValue.cpp.
References lldb::eNoDynamicValues, IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
Referenced by AddressOf(), Cast(), CreateChildAtOffset(), and GetValueForExpressionPath().
bool SBValue::GetPreferSyntheticValue | ( | ) |
Definition at line 778 of file SBValue.cpp.
References IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
Referenced by AddressOf(), Cast(), CreateChildAtOffset(), GetChildAtIndex(), GetChildMemberWithName(), and GetValueForExpressionPath().
lldb::SBProcess SBValue::GetProcess | ( | ) |
Definition at line 998 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBProcess::SetSP().
|
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.
Definition at line 1050 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by AddressOf(), Cast(), Clone(), CreateChildAtOffset(), CreateValueFromAddress(), CreateValueFromData(), CreateValueFromExpression(), Dereference(), lldb::SBTypeSummary::DoesPrintValue(), EvaluateExpression(), GetAddress(), GetByteSize(), GetChildAtIndex(), GetChildMemberWithName(), GetData(), GetDeclaration(), GetDescription(), GetDisplayTypeName(), GetError(), GetExpressionPath(), GetFormat(), GetID(), GetIndexOfChildWithName(), GetLoadAddress(), GetLocation(), GetName(), GetNumChildren(), GetObjectDescription(), GetOpaqueType(), GetPointeeData(), GetSP(), GetSummary(), GetType(), GetTypeFilter(), GetTypeFormat(), GetTypeName(), GetTypeSummary(), GetTypeSynthetic(), GetValue(), GetValueAsSigned(), GetValueAsUnsigned(), GetValueDidChange(), GetValueForExpressionPath(), GetValueType(), GetVTable(), IsDynamic(), IsInScope(), IsRuntimeSupportValue(), IsSynthetic(), IsSyntheticChildrenGenerated(), MightHaveChildren(), Persist(), lldb::SBThread::ReturnFromFrame(), SetData(), SetFormat(), SetSyntheticChildrenGenerated(), and Watch().
|
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.
[in] | value_locker | An 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. |
Definition at line 1037 of file SBValue.cpp.
References ValueLocker::GetError(), ValueLocker::GetLockedSP(), m_opaque_sp, and lldb_private::Status::SetErrorString().
lldb::SBValue SBValue::GetStaticValue | ( | ) |
Definition at line 738 of file SBValue.cpp.
References lldb::eNoDynamicValues, IsValid(), LLDB_INSTRUMENT_VA, m_opaque_sp, and SetSP().
const char * SBValue::GetSummary | ( | ) |
Definition at line 413 of file SBValue.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by lldb::SBFrame::EvaluateExpression(), and lldb::SBTarget::EvaluateExpression().
const char * SBValue::GetSummary | ( | lldb::SBStream & | stream, |
lldb::SBTypeSummaryOptions & | options | ||
) |
Definition at line 424 of file SBValue.cpp.
References lldb_private::ConstString::GetCString(), lldb::SBStream::GetData(), GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeSummaryOptions::ref().
lldb::SBTarget SBValue::GetTarget | ( | ) |
Definition at line 985 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBTarget::SetSP().
Referenced by Watch().
lldb::SBThread SBValue::GetThread | ( | ) |
Definition at line 1011 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBThread::SetThread().
SBType SBValue::GetType | ( | ) |
Definition at line 384 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBType::SetSP().
Referenced by WatchPointee().
lldb::SBTypeFilter SBValue::GetTypeFilter | ( | ) |
Definition at line 504 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeFilter::SetSP().
lldb::SBTypeFormat SBValue::GetTypeFormat | ( | ) |
Definition at line 472 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeFormat::SetSP().
const char * SBValue::GetTypeName | ( | ) |
Definition at line 301 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBTypeSummary SBValue::GetTypeSummary | ( | ) |
Definition at line 488 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeSummary::SetSP().
lldb::SBTypeSynthetic SBValue::GetTypeSynthetic | ( | ) |
Definition at line 524 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and lldb::SBTypeSynthetic::SetSP().
const char * SBValue::GetValue | ( | ) |
Definition at line 351 of file SBValue.cpp.
References lldb_private::ConstString::GetCString(), GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by lldb::SBFrame::EvaluateExpression(), and lldb::SBTarget::EvaluateExpression().
int64_t SBValue::GetValueAsSigned | ( | int64_t | fail_value = 0 | ) |
Definition at line 889 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
int64_t SBValue::GetValueAsSigned | ( | lldb::SBError & | error, |
int64_t | fail_value = 0 |
||
) |
Definition at line 849 of file SBValue.cpp.
References lldb_private::Status::AsCString(), error(), ValueLocker::GetError(), GetSP(), and LLDB_INSTRUMENT_VA.
uint64_t SBValue::GetValueAsUnsigned | ( | lldb::SBError & | error, |
uint64_t | fail_value = 0 |
||
) |
Definition at line 869 of file SBValue.cpp.
References lldb_private::Status::AsCString(), error(), ValueLocker::GetError(), GetSP(), and LLDB_INSTRUMENT_VA.
uint64_t SBValue::GetValueAsUnsigned | ( | uint64_t | fail_value = 0 | ) |
Definition at line 900 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::GetValueDidChange | ( | ) |
Definition at line 399 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
lldb::SBValue SBValue::GetValueForExpressionPath | ( | const char * | expr_path | ) |
Definition at line 832 of file SBValue.cpp.
References GetPreferDynamicValue(), GetPreferSyntheticValue(), GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
ValueType SBValue::GetValueType | ( | ) |
Definition at line 361 of file SBValue.cpp.
References lldb::eValueTypeInvalid, GetSP(), and LLDB_INSTRUMENT_VA.
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 1509 of file SBValue.cpp.
bool SBValue::IsDynamic | ( | ) |
Definition at line 793 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::IsInScope | ( | ) |
Definition at line 337 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
Referenced by Watch(), and WatchPointee().
bool SBValue::IsRuntimeSupportValue | ( | ) |
Definition at line 923 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::IsSynthetic | ( | ) |
Definition at line 803 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::IsSyntheticChildrenGenerated | ( | ) |
Definition at line 813 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::IsValid | ( | ) |
Definition at line 244 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA.
Referenced by GetDynamicValue(), GetNonSyntheticValue(), GetPreferDynamicValue(), GetPreferSyntheticValue(), GetStaticValue(), SetPreferDynamicValue(), and SetPreferSyntheticValue().
lldb::SBValue::LLDB_DEPRECATED | ( | "Use GetType().IsPointerType() instead" | ) |
lldb::SBValue::LLDB_DEPRECATED_FIXME | ( | "Use the variant that takes an SBError &" | , |
"SetValueFromCString(const char *, SBError &)" | |||
) | const |
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.
Definition at line 911 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
|
explicit |
Definition at line 248 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA.
SBValue & SBValue::operator= | ( | const lldb::SBValue & | rhs | ) |
Definition at line 233 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, m_opaque_sp, and SetSP().
lldb::SBValue SBValue::Persist | ( | ) |
Definition at line 1497 of file SBValue.cpp.
References GetSP(), LLDB_INSTRUMENT_VA, and SetSP().
bool SBValue::SetData | ( | lldb::SBData & | data, |
lldb::SBError & | error | ||
) |
Definition at line 1349 of file SBValue.cpp.
References lldb_private::Status::AsCString(), error(), lldb::SBData::get(), ValueLocker::GetError(), GetSP(), LLDB_INSTRUMENT_VA, and lldb_private::Status::Success().
void SBValue::SetFormat | ( | lldb::Format | format | ) |
Definition at line 1230 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
void SBValue::SetPreferDynamicValue | ( | lldb::DynamicValueType | use_dynamic | ) |
Definition at line 771 of file SBValue.cpp.
References IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
void SBValue::SetPreferSyntheticValue | ( | bool | use_synthetic | ) |
Definition at line 786 of file SBValue.cpp.
References IsValid(), LLDB_INSTRUMENT_VA, and m_opaque_sp.
|
protected |
Definition at line 1059 of file SBValue.cpp.
References lldb::eNoDynamicValues, m_opaque_sp, and sp.
Referenced by AddressOf(), Cast(), CreateChildAtOffset(), CreateValueFromAddress(), lldb::SBTarget::CreateValueFromAddress(), lldb::SBTarget::CreateValueFromData(), CreateValueFromData(), lldb::SBTarget::CreateValueFromExpression(), CreateValueFromExpression(), lldb::SBFrame::EvaluateExpression(), lldb::SBTarget::EvaluateExpression(), EvaluateExpression(), lldb::SBFrame::FindRegister(), lldb::SBFrame::FindValue(), lldb::SBFrame::FindVariable(), GetChildAtIndex(), GetChildMemberWithName(), GetDynamicValue(), GetNonSyntheticValue(), GetStaticValue(), GetValueForExpressionPath(), lldb::SBFrame::GetValueForVariablePath(), lldb::SBFrame::GetVariables(), lldb::SBBlock::GetVariables(), GetVTable(), operator=(), Persist(), SBValue(), and SetSP().
|
protected |
Definition at line 1087 of file SBValue.cpp.
References lldb::eNoDynamicValues, SetSP(), and sp.
|
protected |
Definition at line 1073 of file SBValue.cpp.
|
protected |
Definition at line 1099 of file SBValue.cpp.
References m_opaque_sp, and sp.
|
protected |
Definition at line 1104 of file SBValue.cpp.
References m_opaque_sp, and sp.
|
private |
Definition at line 1057 of file SBValue.cpp.
References m_opaque_sp.
void SBValue::SetSyntheticChildrenGenerated | ( | bool | is | ) |
Definition at line 823 of file SBValue.cpp.
References GetSP(), and LLDB_INSTRUMENT_VA.
bool SBValue::SetValueFromCString | ( | const char * | value_str, |
lldb::SBError & | error | ||
) |
Definition at line 450 of file SBValue.cpp.
References LLDB_INSTRUMENT_VA, and SetValueFromCString().
Referenced by SetValueFromCString().
lldb::SBWatchpoint SBValue::Watch | ( | bool | resolve_location, |
bool | read, | ||
bool | write | ||
) |
Definition at line 1479 of file SBValue.cpp.
References error(), LLDB_INSTRUMENT_VA, and Watch().
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.
[in] | resolve_location | Resolve 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] | read | Stop when this value is accessed. |
[in] | write | Stop when this value is modified |
[out] | error | An error object. Contains the reason if there is some failure. |
Definition at line 1409 of file SBValue.cpp.
References lldb_private::Status::AsCString(), lldb_private::Declaration::DumpStopContext(), error(), 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 Watch(), and 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.
[in] | resolve_location | Resolve 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] | read | Stop when this value is accessed. |
[in] | write | Stop when this value is modified |
[out] | error | An error object. Contains the reason if there is some failure. |
Definition at line 1487 of file SBValue.cpp.
References Dereference(), error(), GetType(), IsInScope(), LLDB_INSTRUMENT_VA, and Watch().
|
friend |
|
friend |
|
private |
Definition at line 490 of file SBValue.h.
Referenced by Clear(), GetChildAtIndex(), GetChildMemberWithName(), GetDynamicValue(), GetFrame(), GetNonSyntheticValue(), GetPreferDynamicValue(), GetPreferSyntheticValue(), GetProcess(), GetSP(), GetStaticValue(), GetTarget(), GetThread(), operator=(), SBValue(), SetPreferDynamicValue(), SetPreferSyntheticValue(), and SetSP().