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".
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
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
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
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
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
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
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).
=
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
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
10 matches
Mail list logo