jingham added a comment.

I also thought about having the synthetic child provider mark up the special 
child value objects when it made them.  It bugs me a little but that you 
couldn't, for instance, have a synthetic child provider that doesn't display a 
child that is the result of the dereference in its view, but provides one when 
you do the dereference.  And it looks like we're creating a system where we 
have somebody - the SCP - that knows what the dereference means to it, but then 
we lose the connection to that knowledge when we hand it out.

Explain a bit more why you need to create a copy?  Anything that makes two 
versions of the same value that we have to keep in sync makes me nervous.  For 
instance, one of the things we want to do in the future is make write-back 
possible for synthetic children.  That would allow you to change values of 
std::vector elements in the Locals view of a GUI debugger (which would 
naturally be based on SBValues) just like you can with the non-synthetic 
SBValues.  Also, how would the SCP know to update this copy when you've stepped 
in the debugger and the dereference now points to another pointee?


https://reviews.llvm.org/D30272



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to