Lines Matching refs:ValueObject

1 //===-- ValueObject.cpp -----------------------------------------*- C++ -*-===//
12 #include "lldb/Core/ValueObject.h"
62 // ValueObject constructor
64 ValueObject::ValueObject (ValueObject &parent) :
107 // ValueObject constructor
109 ValueObject::ValueObject (ExecutionContextScope *exe_scope,
156 ValueObject::~ValueObject ()
161 ValueObject::UpdateValueIfNeeded (bool update_format)
234 ValueObject::UpdateFormatsIfNeeded()
238 log->Printf("[%s %p] checking for FormatManager revisions. ValueObject rev: %d - Global rev: %d",
264 ValueObject::SetNeedsUpdate ()
273 ValueObject::ClearDynamicTypeInformation ()
284 ValueObject::MaybeCalculateCompleteType ()
357 ValueObject::GetClangType ()
363 ValueObject::GetDataExtractor ()
370 ValueObject::GetError()
377 ValueObject::GetName() const
383 ValueObject::GetLocationAsCString ()
390 ValueObject::GetLocationAsCStringImpl (const Value& value,
438 ValueObject::GetValue()
444 ValueObject::GetValue() const
450 ValueObject::ResolveValue (Scalar &scalar)
469 ValueObject::GetValueIsValid () const
476 ValueObject::SetValueIsValid (bool b)
482 ValueObject::GetValueDidChange ()
489 ValueObject::SetValueDidChange (bool value_changed)
495 ValueObject::GetChildAtIndex (size_t idx, bool can_create)
511 ValueObject* child = m_children.GetChildAtIndex(idx);
519 ValueObject::GetChildAtIndexPath (const std::initializer_list<size_t>& idxs,
539 ValueObject::GetChildAtIndexPath (const std::initializer_list< std::pair<size_t, bool> >& idxs,
559 ValueObject::GetChildAtIndexPath (const std::vector<size_t> &idxs,
579 ValueObject::GetChildAtIndexPath (const std::vector< std::pair<size_t, bool> > &idxs,
599 ValueObject::GetIndexOfChildWithName (const ConstString &name)
606 ValueObject::GetChildMemberWithName (const ConstString &name, bool can_create)
647 ValueObject::GetNumChildren ()
658 ValueObject::MightHaveChildren()
676 // Should only be called by ValueObject::GetNumChildren()
678 ValueObject::SetNumChildren (size_t num_children)
685 ValueObject::SetName (const ConstString &name)
690 ValueObject *
691 ValueObject::CreateChildAtIndex (size_t idx, bool synthetic_array_member, int32_t synthetic_index)
693 ValueObject *valobj = NULL;
750 ValueObject::GetSummaryAsCString (TypeSummaryImpl* summary_ptr,
835 ValueObject::GetSummaryAsCString ()
848 ValueObject::IsCStringContainer(bool check_pointer)
867 ValueObject::GetPointeeData (DataExtractor& data,
974 ValueObject::GetData (DataExtractor& data)
997 ValueObject::SetData (DataExtractor &data, Error &error)
1100 ValueObject::ReadPointedString (Stream& s,
1259 ValueObject::GetObjectDescription ()
1304 ValueObject::GetValueAsCString (lldb::Format format,
1388 ValueObject::GetValueAsCString ()
1438 ValueObject::GetValueAsUnsigned (uint64_t fail_value, bool *success)
1458 // if any more "special cases" are added to ValueObject::DumpPrintableRepresentation() please keep
1462 ValueObject::HasSpecialPrintableRepresentation(ValueObjectRepresentationStyle val_obj_display,
1467 && val_obj_display == ValueObject::eValueObjectRepresentationStyleValue)
1501 ValueObject::DumpPrintableRepresentation(Stream& s,
1515 && val_obj_display == ValueObject::eValueObjectRepresentationStyleValue)
1560 child->DumpPrintableRepresentation(s, ValueObject::eValueObjectRepresentationStyleValue, custom_format);
1598 child->DumpPrintableRepresentation(s, ValueObject::eValueObjectRepresentationStyleValue, format);
1727 ValueObject::GetAddressOf (bool scalar_is_load_address, AddressType *address_type)
1760 ValueObject::GetPointerValue (AddressType *address_type)
1793 ValueObject::SetValueFromCString (const char *value_str, Error& error)
1894 ValueObject::GetDeclaration (Declaration &decl)
1901 ValueObject::GetTypeName()
1907 ValueObject::GetQualifiedTypeName()
1914 ValueObject::GetObjectRuntimeLanguage ()
1920 ValueObject::AddSyntheticChild (const ConstString &key, ValueObject *valobj)
1926 ValueObject::GetSyntheticChild (const ConstString &key) const
1929 std::map<ConstString, ValueObject *>::const_iterator pos = m_synthetic_children.find (key);
1936 ValueObject::GetTypeInfo (ClangASTType *pointee_or_element_clang_type)
1942 ValueObject::IsPointerType ()
1948 ValueObject::IsArrayType ()
1954 ValueObject::IsScalarType ()
1960 ValueObject::IsIntegerType (bool &is_signed)
1966 ValueObject::IsPointerOrReferenceType ()
1972 ValueObject::IsPossibleDynamicType ()
1983 ValueObject::IsObjCNil ()
1995 ValueObject::GetSyntheticArrayMember (size_t index, bool can_create)
2009 ValueObject::GetSyntheticArrayMemberFromPointer (size_t index, bool can_create)
2022 ValueObject *synthetic_child;
2052 ValueObject::GetSyntheticArrayMemberFromArray (size_t index, bool can_create)
2065 ValueObject *synthetic_child;
2084 ValueObject::GetSyntheticBitFieldChild (uint32_t from, uint32_t to, bool can_create)
2124 ValueObject::GetSyntheticChildAtOffset(uint32_t offset, const ClangASTType& type, bool can_create)
2181 ValueObject::GetSyntheticExpressionPathChild(const char* expression, bool can_create)
2208 ValueObject::CalculateSyntheticValue (bool use_synthetic)
2235 ValueObject::CalculateDynamicValue (DynamicValueType use_dynamic)
2253 ValueObject::GetDynamicValue (DynamicValueType use_dynamic)
2269 ValueObject::GetStaticValue()
2275 ValueObject::GetNonSyntheticValue ()
2281 ValueObject::GetSyntheticValue (bool use_synthetic)
2295 ValueObject::HasSyntheticValue()
2311 ValueObject::GetBaseClassPath (Stream &s)
2331 ValueObject *
2332 ValueObject::GetNonBaseClassParent()
2345 ValueObject::GetExpressionPath (Stream &s, bool qualify_cxx_base_classes, GetExpressionPathFormat epformat)
2357 ValueObject* parent = GetParent();
2372 ValueObject *non_base_class_parent = GetNonBaseClassParent();
2419 ValueObject::GetValueForExpressionPath(const char* expression,
2428 ExpressionPathScanEndReason dummy_reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnknown;
2429 ExpressionPathEndResultType dummy_final_value_type = ValueObject::eExpressionPathEndResultTypeInvalid;
2430 ExpressionPathAftermath dummy_final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2439 if (!final_task_on_target || *final_task_on_target == ValueObject::eExpressionPathAftermathNothing)
2444 if ( (final_task_on_target ? *final_task_on_target : dummy_final_task_on_target) == ValueObject::eExpressionPathAftermathDereference)
2451 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
2453 *final_value_type = ValueObject::eExpressionPathEndResultTypeInvalid;
2459 *final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2463 if (*final_task_on_target == ValueObject::eExpressionPathAftermathTakeAddress)
2470 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonTakingAddressFailed;
2472 *final_value_type = ValueObject::eExpressionPathEndResultTypeInvalid;
2478 *final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2487 ValueObject::GetValuesForExpressionPath(const char* expression,
2498 ExpressionPathAftermath dummy_final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2513 if (!final_task_on_target || *final_task_on_target == ValueObject::eExpressionPathAftermathNothing)
2520 if (*final_task_on_target == ValueObject::eExpressionPathAftermathDereference)
2527 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
2529 *final_value_type = ValueObject::eExpressionPathEndResultTypeInvalid;
2534 *final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2539 if (*final_task_on_target == ValueObject::eExpressionPathAftermathTakeAddress)
2546 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonTakingAddressFailed;
2548 *final_value_type = ValueObject::eExpressionPathEndResultTypeInvalid;
2553 *final_task_on_target = ValueObject::eExpressionPathAftermathNothing;
2577 ValueObject::GetValueForExpressionPath_Impl(const char* expression_cstr,
2606 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEndOfString;
2618 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonArrowInsteadOfDot;
2619 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2627 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonFragileIVarNotAllowed;
2628 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2634 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
2635 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2646 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDotInsteadOfArrow;
2647 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2661 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEndOfString;
2662 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2670 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2671 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2685 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEndOfString;
2686 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2692 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2693 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2705 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2713 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2714 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2729 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2735 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2736 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2751 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorInvalid;
2752 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2759 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorNotAllowed;
2760 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2769 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEmptyRangeNotAllowed;
2770 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2776 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonArrayRangeOperatorMet;
2777 *final_result = ValueObject::eExpressionPathEndResultTypeUnboundedRange;
2786 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
2787 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2797 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
2798 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2806 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonArrayRangeOperatorMet;
2807 *final_result = ValueObject::eExpressionPathEndResultTypeUnboundedRange;
2813 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEmptyRangeNotAllowed;
2814 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2831 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2837 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2838 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2844 if (*what_next == ValueObject::eExpressionPathAftermathDereference && // if this is a ptr-to-scalar, I am accessing it by index and I would have deref'ed anyway, then do it now and use this as a bitfield
2852 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
2853 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2876 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2877 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2883 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2894 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2895 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2901 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonBitfieldRangeOperatorMet;
2902 *final_result = ValueObject::eExpressionPathEndResultTypeBitfield;
2912 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2913 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2919 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2930 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonSyntheticValueMissing;
2931 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2939 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonSyntheticValueMissing;
2940 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2947 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2948 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2954 *final_result = ValueObject::eExpressionPathEndResultTypePlain;
2961 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2962 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2973 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
2974 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2981 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
2982 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
2997 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
2998 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3004 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonBitfieldRangeOperatorMet;
3005 *final_result = ValueObject::eExpressionPathEndResultTypeBitfield;
3010 *what_next == ValueObject::eExpressionPathAftermathDereference &&
3018 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
3019 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3024 *what_next = ValueObject::eExpressionPathAftermathNothing;
3031 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonArrayRangeOperatorMet;
3032 *final_result = ValueObject::eExpressionPathEndResultTypeBoundedRange;
3041 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3042 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3051 ValueObject::ExpandArraySliceExpression(const char* expression_cstr,
3079 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEndOfString;
3093 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorInvalid;
3094 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3100 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorNotAllowed;
3101 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3110 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEmptyRangeNotAllowed;
3111 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3124 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3125 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3134 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3135 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3145 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3146 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3161 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3162 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3168 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonEmptyRangeNotAllowed;
3169 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3180 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
3181 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3188 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3189 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3195 if (*what_next == ValueObject::eExpressionPathAftermathDereference && // if this is a ptr-to-scalar, I am accessing it by index and I would have deref'ed anyway, then do it now and use this as a bitfield
3203 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
3204 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3219 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
3220 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3227 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3228 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3239 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
3240 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3247 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3248 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3260 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3261 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3268 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3269 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3284 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonNoSuchChild;
3285 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3292 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3293 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3298 *what_next == ValueObject::eExpressionPathAftermathDereference &&
3306 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonDereferencingFailed;
3307 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3312 *what_next = ValueObject::eExpressionPathAftermathNothing;
3326 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonRangeOperatorExpanded;
3327 *final_result = ValueObject::eExpressionPathEndResultTypeValueObjectList;
3336 *reason_to_stop = ValueObject::eExpressionPathScanEndReasonUnexpectedSymbol;
3337 *final_result = ValueObject::eExpressionPathEndResultTypeInvalid;
3347 ValueObject *valobj,
3348 const ValueObject::DumpValueObjectOptions& options,
3363 ValueObject *dynamic_value = valobj->GetDynamicValue(options.m_use_dynamic).get();
3534 ValueObject* synth_valobj = (synth_valobj_sp ? synth_valobj_sp.get() : valobj);
3560 ValueObject::DumpValueObjectOptions child_options(options);
3621 ValueObject::LogValueObject (Log *log,
3622 ValueObject *valobj)
3629 ValueObject::LogValueObject (Log *log,
3630 ValueObject *valobj,
3636 ValueObject::DumpValueObject (s, valobj, options);
3643 ValueObject::DumpValueObject (Stream &s,
3644 ValueObject *valobj)
3658 ValueObject::DumpValueObject (Stream &s,
3659 ValueObject *valobj,
3671 ValueObject::CreateConstantValue (const ConstString &name)
3706 ValueObject::Dereference (Error &error)
3781 ValueObject::AddressOf (Error &error)
3834 ValueObject::Cast (const ClangASTType &clang_ast_type)
3840 ValueObject::CastPointerType (const char *name, ClangASTType &clang_ast_type)
3859 ValueObject::CastPointerType (const char *name, TypeSP &type_sp)
3877 ValueObject::EvaluationPoint::EvaluationPoint () :
3885 ValueObject::EvaluationPoint::EvaluationPoint (ExecutionContextScope *exe_scope, bool use_selected):
3930 ValueObject::EvaluationPoint::EvaluationPoint (const ValueObject::EvaluationPoint &rhs) :
3938 ValueObject::EvaluationPoint::~EvaluationPoint ()
3950 ValueObject::EvaluationPoint::SyncWithProcessState()
4022 ValueObject::EvaluationPoint::SetUpdated ()
4034 ValueObject::ClearUserVisibleData(uint32_t clear_mask)
4058 ValueObject::GetSymbolContextScope()
4069 ValueObject::CreateValueObjectFromExpression (const char* name,
4088 ValueObject::CreateValueObjectFromAddress (const char* name,
4120 ValueObject::CreateValueObjectFromData (const char* name,
4138 ValueObject::GetModule ()
4140 ValueObject* root(GetRoot());
4146 ValueObject*
4147 ValueObject::GetRoot ()
4151 ValueObject* parent = m_parent;
4164 ValueObject::GetAddressTypeOfChildren()
4168 ValueObject* root(GetRoot());
4176 ValueObject::GetDynamicValueType ()
4178 ValueObject* with_dv_info = this;
4189 ValueObject::GetFormat () const
4191 const ValueObject* with_fmt_info = this;