HomePhabricator

[lldb] Add deref support to libc++ unique_ptr synthetic

Authored by kastiglione on Feb 25 2021, 1:27 PM.

Description

[lldb] Add deref support to libc++ unique_ptr synthetic

Add frame variable dereference suppport to libc++ std::unique_ptr.

This change allows for commands like v *thing_up and v thing_up->m_id. These commands now work the same way they would with raw pointers, and as they would with expression. This is done by adding an unaccounted for child member named $$dereference$$.

Without this change, the command would have to be written as v *thing_up.__value_ or v thing_up.__value_->m_id` which exposes internal structure and is more clumsy to type.

Additionally, the existing tests were updated. See also https://reviews.llvm.org/D97165 which added deref support for std::shared_ptr.

Differential Revision: https://reviews.llvm.org/D97524