Fix the libcxx set, multiset, vector and bitset formatters to work on references.
authorJim Ingham <jingham@apple.com>
Fri, 13 Jul 2018 19:28:32 +0000 (19:28 +0000)
committerJim Ingham <jingham@apple.com>
Fri, 13 Jul 2018 19:28:32 +0000 (19:28 +0000)
commit393fe62e3373c04ac9a2ab391335dfe6e08949e7
tree5e74973e4fd8a341872bac637782c4996c264416
parent0925c1fdffe79874e0f628024202e97354a49319
Fix the libcxx set, multiset, vector and bitset formatters to work on references.

The synthetic child providers for these classes had a type expression that matched
pointers & references to the type, but the Front End only worked on the actual object.

I fixed this by adding a way for the Synthetic Child FrontEnd provider to request dereference,
and then had these formatters use that mode.

<rdar://problem/40849836>

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

llvm-svn: 337035
12 files changed:
lldb/include/lldb/DataFormatters/TypeSynthetic.h
lldb/include/lldb/lldb-enumerations.h
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/TestDataFormatterLibcxxBitset.py
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/bitset/main.cpp
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/multiset/main.cpp
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/set/main.cpp
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/vector/main.cpp
lldb/source/Core/ValueObjectSyntheticFilter.cpp
lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp