10 #ifndef LLDB_SBValue_h_
11 #define LLDB_SBValue_h_
38 lldb::user_id_t GetID();
40 const char *GetName();
42 const char *GetTypeName();
44 const char *GetDisplayTypeName();
50 lldb::Format GetFormat();
52 void SetFormat(lldb::Format format);
54 const char *GetValue();
56 int64_t GetValueAsSigned(
lldb::SBError &error, int64_t fail_value = 0);
58 uint64_t GetValueAsUnsigned(
lldb::SBError &error, uint64_t fail_value = 0);
60 int64_t GetValueAsSigned(int64_t fail_value = 0);
62 uint64_t GetValueAsUnsigned(uint64_t fail_value = 0);
64 ValueType GetValueType();
68 bool GetValueDidChange();
70 const char *GetSummary();
75 const char *GetObjectDescription();
77 const char *GetTypeValidatorResult();
79 lldb::SBValue GetDynamicValue(lldb::DynamicValueType use_dynamic);
85 lldb::DynamicValueType GetPreferDynamicValue();
87 void SetPreferDynamicValue(lldb::DynamicValueType use_dynamic);
89 bool GetPreferSyntheticValue();
91 void SetPreferSyntheticValue(
bool use_synthetic);
97 bool IsSyntheticChildrenGenerated();
99 void SetSyntheticChildrenGenerated(
bool);
101 const char *GetLocation();
104 bool SetValueFromCString(
const char *value_str);
106 bool SetValueFromCString(
const char *value_str,
lldb::SBError &error);
114 #ifndef LLDB_DISABLE_PYTHON
120 lldb::SBValue CreateChildAtOffset(
const char *name, uint32_t offset,
127 const char *expression);
130 const char *expression,
133 lldb::SBValue CreateValueFromAddress(
const char *name, lldb::addr_t address,
197 lldb::DynamicValueType use_dynamic,
198 bool can_create_synthetic);
202 uint32_t GetIndexOfChildWithName(
const char *name);
211 lldb::DynamicValueType use_dynamic);
214 lldb::SBValue GetValueForExpressionPath(
const char *expr_path);
218 lldb::addr_t GetLoadAddress();
243 lldb::SBData GetPointeeData(uint32_t item_idx = 0, uint32_t item_count = 1);
277 bool MightHaveChildren();
279 bool IsRuntimeSupportValue();
281 uint32_t GetNumChildren();
283 uint32_t GetNumChildren(uint32_t max);
285 void *GetOpaqueType();
298 bool TypeIsPointerType();
309 bool qualify_cxx_base_classes);
311 SBValue(
const lldb::ValueObjectSP &value_sp);
387 lldb::ValueObjectSP GetSP()
const;
421 lldb::ValueObjectSP GetSP(ValueLocker &value_locker)
const;
425 void SetSP(
const lldb::ValueObjectSP &sp);
427 void SetSP(
const lldb::ValueObjectSP &sp,
bool use_synthetic);
429 void SetSP(
const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic);
431 void SetSP(
const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic,
434 void SetSP(
const lldb::ValueObjectSP &sp, lldb::DynamicValueType use_dynamic,
435 bool use_synthetic,
const char *name);
438 typedef std::shared_ptr<ValueImpl> ValueImplSP;
439 ValueImplSP m_opaque_sp;
441 void SetSP(ValueImplSP impl_sp);
446 #endif // LLDB_SBValue_h_