================
@@ -3015,11 +3017,12 @@ llvm::Expected<lldb::ValueObjectSP> 
ValueObject::CastDerivedToBaseType(
 
   lldb::TargetSP target = GetTargetSP();
   // The `value` can be a pointer, but GetChildAtIndex works for pointers too.
-  lldb::ValueObjectSP inner_value;
+  lldb::ValueObjectSP inner_value = GetSP();
 
   for (const uint32_t i : base_type_indices)
     // Force static value, otherwise we can end up with the "real" type.
-    inner_value = GetChildAtIndex(i, /*can_create_synthetic*/ false);
----------------
jimingham wrote:

I don't understand this change.  How is getting 
`this->GetSP()->GetChildAtIndex` different from `this->GetChildAtIndex`?

The other change here seems to be to change can_create_synthetic from false to 
true.  IIUC, the comment directly above this change says why it chose `false` 
here, though it is a somewhat confusing comment.  Since you seem to disagree 
with that comment, you should probably change the comment to say why you think 
`true` is the right value here.

https://github.com/llvm/llvm-project/pull/87197
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to