summaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2020-02-03 18:05:21 -0800
committerPavel Labath <labath@google.com>2020-02-11 13:23:18 +0100
commit363f05b83d9cf207e1b024ca105b8d55526178b8 (patch)
treec8520e2bdf8bc5fdcc6056209d3bdfeae82d85e1 /lldb/test/API/python_api/debugger/TestDebuggerAPI.py
parent11c16e71598d51f15b4cfd0f719c4dabcc0bebf7 (diff)
[lldb] Delete the SharingPtr class
Summary: The only use of this class was to implement the SharedCluster of ValueObjects. However, the same functionality can be implemented using a regular std::shared_ptr, and its little-known "sub-object pointer" feature, where the pointer can point to one thing, but actually delete something else when it goes out of scope. This patch reimplements SharedCluster using this feature -- SharedClusterPointer::GetObject now returns a std::shared_pointer which points to the ValueObject, but actually owns the whole cluster. The only change I needed to make here is that now the SharedCluster object needs to be created before the root ValueObject. This means that all private ValueObject constructors get a ClusterManager argument, and their static Create functions do the create-a-manager-and-pass-it-to-value-object dance. Reviewers: teemperor, JDevlieghere, jingham Subscribers: mgorny, jfb, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D74153
Diffstat (limited to 'lldb/test/API/python_api/debugger/TestDebuggerAPI.py')
0 files changed, 0 insertions, 0 deletions