Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8181334

add spec for Deque.addAll

    XMLWordPrintable

Details

    Backports

      Description

        ArrayDeque#addAll spec says:
        Adds all of the elements in the specified collection at the end of this deque, as if by calling addLast(E) on each one, in the order that they are returned by the collection's iterator.

        Because we feel that two below aspects of the aforementioned spec of overriding method are not mentioned in the super class spec of overridden method and hence we believe this change requires a CCC approval request and we noticed that there is no CCC request created.
        1. calling addLast
        2. in the order returned by the iterator

        Overridden method in the base class (or super class) has the following specification from AbstractCollection#addAll (below) which does not confirm to overriding method spec because
        1.it does not mentions explicitly about the order of the given collectors iterator and
        2.it does not state adding means adding elements at the end or calling add / addLast method.

        AbstractCollection#addAll specification:

        "Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.)"

        Attachments

          Issue Links

            Activity

              People

                martin Martin Buchholz
                bnallakaluva Bharath Nallakaluva (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: