[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-03-25 Thread Tamas Berghammer via Phabricator via lldb-commits
tberghammer abandoned this revision. tberghammer added a comment. I wasn't able to get this approach working so I propose an alternative solution at https://reviews.llvm.org/D31366 for the infinite loop issue and I will create a separate CL for dereferencing smart pointers in "frame variable".

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-25 Thread Tamas Berghammer via Phabricator via lldb-commits
tberghammer added a comment. In https://reviews.llvm.org/D30272#686061, @jingham wrote: > 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 prov

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-24 Thread Jim Ingham via Phabricator via lldb-commits
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 dereferen

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-24 Thread Tamas Berghammer via Phabricator via lldb-commits
tberghammer added a comment. Thank you the comments. Based on them I have the following proposal: - Add a new property to value object with name "m_is_dereference_of_parent" - Add a new static method named "CreateCopy(name, valobj, is_dereference_of_parent)" to ValueObject and to SBValue what wi

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-23 Thread Jim Ingham via Phabricator via lldb-commits
jingham added a comment. It definitely does not belong in the summary provider. So far as I can tell the main benefit of the IsPointerLike part of this thing is that you can do: (lldb) frame var isPointerLikeThing->field_of_pointee->field_of_field_of_pointee which the summary wouldn't help

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-23 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. In https://reviews.llvm.org/D30272#684610, @tberghammer wrote: > My original plan was to add it to the synthetic child provider but after some > thoughts and experimenting I concluded it doesn't really belongs to there > because it should be responsible for generating ne

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-23 Thread Tamas Berghammer via Phabricator via lldb-commits
tberghammer added a comment. My original plan was to add it to the synthetic child provider but after some thoughts and experimenting I concluded it doesn't really belongs to there because it should be responsible for generating new children while here we are modifying the way the parent object

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-23 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. Jim's comment definitely makes sense. If we happen to not use pretty-printer for the unique_ptr, it will not behave as a pointer-like object, and it should be formatted as a normal struct (I have no idea how much of a challenge it would be to implement it that way). =

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-22 Thread Jim Ingham via Phabricator via lldb-commits
jingham requested changes to this revision. jingham added a comment. This revision now requires changes to proceed. It seems a little wrong to me to hook "IsPointerLikeObject" up to the ValueObject, and not to the Synthetic Child Provider for the type. After all, you are using the Synthetic Chi

[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

2017-02-22 Thread Tamas Berghammer via Phabricator via lldb-commits
tberghammer created this revision. Improve data formatter for libstdcpp unique_ptr - Fix infinite loop when there is a reference loop created from smart pointers - Respect pointer depth argument in frame variable command - Support dereferencing unique_ptr in the frame variable command - Support o