diff options
| author | Pavel Labath <labath@google.com> | 2020-02-03 18:05:21 -0800 |
|---|---|---|
| committer | Pavel Labath <labath@google.com> | 2020-02-11 13:23:18 +0100 |
| commit | 363f05b83d9cf207e1b024ca105b8d55526178b8 (patch) | |
| tree | c8520e2bdf8bc5fdcc6056209d3bdfeae82d85e1 /lldb/test/API/python_api/process/TestProcessAPI.py | |
| parent | 11c16e71598d51f15b4cfd0f719c4dabcc0bebf7 (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/process/TestProcessAPI.py')
0 files changed, 0 insertions, 0 deletions
