llvm-project/lldb/source/Plugins/Language/CPlusPlus
Dave Lee 3a677b29a3 [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
2021-02-26 07:39:01 -08:00
..
BlockPointer.cpp [LLDB] Remove uneeded CopyType from BlockPointerSyntheticFrontEnd 2021-02-09 16:11:28 -08:00
BlockPointer.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
CMakeLists.txt [lldb] Move clang-based files out of Symbol 2020-01-31 12:20:10 -08:00
CPlusPlusLanguage.cpp [lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values 2021-02-23 11:15:31 +01:00
CPlusPlusLanguage.h [lldb/DataFormatters] Display null C++ pointers as nullptr 2020-11-12 15:24:06 -08:00
CPlusPlusNameParser.cpp [LLDB] Initialize temporary token 2020-03-30 16:12:50 +02:00
CPlusPlusNameParser.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
CxxStringTypes.cpp [lldb] Move clang-based files out of Symbol 2020-01-31 12:20:10 -08:00
CxxStringTypes.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
LibCxx.cpp [lldb] Add deref support to libc++ unique_ptr synthetic 2021-02-26 07:39:01 -08:00
LibCxx.h [lldb] Add deref support to libc++ unique_ptr synthetic 2021-02-26 07:39:01 -08:00
LibCxxAtomic.cpp [lldb] Don't model std::atomic as a transparent data structure in the data formatter 2020-02-18 11:22:12 +01:00
LibCxxAtomic.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
LibCxxBitset.cpp [lldb][NFC] Give CompilerType's IsArrayType/IsVectorType/IsBlockPointerType out-parameters default values 2021-02-23 11:15:31 +01:00
LibCxxInitializerList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LibCxxList.cpp [DataFormatters] Add formatter for libc++ std::unique_ptr 2020-03-23 11:48:20 -07:00
LibCxxMap.cpp [lldb] Move clang-based files out of Symbol 2020-01-31 12:20:10 -08:00
LibCxxOptional.cpp [lldb][NFC] Don't hide a bool in LibCxxOptional's OptionalFrontend::m_size 2020-02-10 13:03:06 +01:00
LibCxxQueue.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LibCxxTuple.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LibCxxUnorderedMap.cpp [lldb] Move clang-based files out of Symbol 2020-01-31 12:20:10 -08:00
LibCxxVariant.cpp [lldb] Let TypeSystemClang::GetDisplayTypeName remove anonymous and inline namespaces. 2020-02-19 10:30:11 +01:00
LibCxxVariant.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
LibCxxVector.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LibStdcpp.cpp Reland [lldb] Fix string summary of an empty NSPathStore2 2020-03-19 18:50:26 +01:00
LibStdcpp.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00
LibStdcppTuple.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
LibStdcppUniquePointer.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
MSVCUndecoratedNameParser.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
MSVCUndecoratedNameParser.h [lldb] Update header guards to be consistent and compliant with LLVM (NFC) 2020-02-17 23:15:40 -08:00