[lldb] Refine call to decl printing helper (NFC)
authorDave Lee <davelee.com@gmail.com>
Mon, 8 May 2023 17:13:33 +0000 (10:13 -0700)
committerDave Lee <davelee.com@gmail.com>
Mon, 15 May 2023 22:20:48 +0000 (15:20 -0700)
commit8d4f0e079554c5eb5c9effda58dbda3b17f03160
treef87409f98b5dc1732115e363584a418412cc7bc9
parent4a899a35182be83ba46ae7906f0ce80ae800ef35
[lldb] Refine call to decl printing helper (NFC)

When `ValueObjectPrinter` calls its `m_decl_printing_helper`, not all state is passed to
the helper. In particular, the helper doesn't have access to `m_curr_depth`, and thus
can't act on the logic within `ShouldShowName`.

To address this, this change passes in a modified copy of `m_options`. The modified copy
has has `m_hide_name` set according to the results of `ShouldShowName`. This allows
helper functions to know whether the name should be shown or hidden, without having
access to `ValueObjectPrinter`'s full state.

This is NFC in mainline lldb, as the only decl printing helper doesn't make use of this.
However in swift-lldb at least, there are decl printing helpers that do need this
information passed to them. See https://github.com/apple/llvm-project/pull/6795 where a
test is also included.

Differential Revision: https://reviews.llvm.org/D150129
lldb/source/DataFormatters/ValueObjectPrinter.cpp