Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [qvto-dev] [omg] [QVT13] Ballot #1 is ready for review until Wed, 7 Oct 2015 04:00 GMT.

I'm '+1' for "QVT13-37" issue. 

Revised description clearly describes how deepclone() should be executed.


On Tue, Sep 29, 2015 at 4:46 PM, Ed Willink <ed@xxxxxxxxxxxxx> wrote:

OMG Issue: QVT13-37

Title:
Clarify deepclone on Collections
Summary:

The Issue 19146 resolution is not sufficiently clear for Collection::deepclone.

Any nested mutables must be deepcloned, so the specification should require a recursive deepclone that the return decides between self or the clone according to whether any elements need to change

Source:
formal/11-01-01 — Chapter/Section: 8 — Page Number/s: n/a
Legacy Issue Number:
19205
Reporter:
Ed Willink, Model Driven Solutions (ed@xxxxxxxxxxxxx)
Reported:
Wed, 5 Feb 2014 05:00 GMT on QVT 1.1
Updated:
Tue, 29 Sep 2015 13:26 GMT
Discussion:
QVT13-37

Proposal: Resolved

Summary:

Clarify deepclone on Collections

The Issue 19146 resolution is not sufficiently clear for Collection::deepclone.

Any nested mutables must be deepcloned, so the specification should require a recursive deepclone that the return decides between self or the clone according to whether any elements need to change

Discussion

Yes

Revised Text:

In 8.3.11.3 Collection::deepclone replace:

Collections are immutable so a deep clone returns self.
post: result = self

by

Returns a collection that is a deep clone of self; that is a collection in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content.

In 8.3.12.3 Bag::deepclone replace:

Bags are immutable so a deep clone returns self.

by

Returns a Bag that is a deep clone of self; that is a Bag in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content.

In 8.3.13.3 OrderedSet::deepclone replace:

Sets are immutable so a deep clone returns self.

by

Returns an OrderedSet that is a deep clone of self; that is an OrderedSet in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content.

In 8.3.14.3 Sequence::deepclone replace:

Sequences are immutable so a deep clone returns self.

by

Returns a Sequence that is a deep clone of self; that is a Sequence in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content.

In 8.3.15.3 Set::deepclone replace:

Sets are immutable so a deep clone returns self.

by

Returns a Set that is a deep clone of self; that is a Set in which each element is in turn a deepclone of the corresponding element of self. May return self if there is no deep mutable content.

Extent Of Change:
Significant
Created:
Fri, 25 Sep 2015 11:07 GMT
Updated:
Fri, 25 Sep 2015 11:28 GMT
Discussion:
QVT13-68
 


Back to the top