Thanks. Good ideas. I've renamed that method and adjusted it a bit.

s'marks


On 12/6/16 1:48 PM, Martin Buchholz wrote:
Looks good.

I've called similar methods assertIteratorExhausted instead of checkAtEnd.
You could add

it.forEachRemaining(e -> throw new AssertionError());
to that method.



On Tue, Dec 6, 2016 at 1:28 PM, Stuart Marks <stuart.ma...@oracle.com <mailto:stuart.ma...@oracle.com>> wrote:

    Hi all,

    Please review this small fix to adjust the behavior of
    SingletonIterator.forEachRemaining in the case where its action throws an
    exception:

    http://cr.openjdk.java.net/~smarks/reviews/8166446/webrev.0/
    <http://cr.openjdk.java.net/%7Esmarks/reviews/8166446/webrev.0/>

    Strictly speaking, this behavior is undefined (see the spec adjustment
    JDK-8168745 [1] [2] that Paul Sandoz pushed recently). However, we felt it
    was reasonable to make this case behave consistently with the default
    implementation of Iterator.forEachRemaining(), which advances before
    calling the action.

    Also, please ignore the extra changeset comment lines in the webrev.
    There's only one changeset here:

        rev 16204 : 8166446: SingletonIterator.forEachRemaining doesn't
    advance before calling action

    Something funny is up with webrev....

    Thanks,

    s'marks


    [1] https://bugs.openjdk.java.net/browse/JDK-8168745
    <https://bugs.openjdk.java.net/browse/JDK-8168745>

    [2] http://hg.openjdk.java.net/jdk9/dev/jdk/rev/a563aaa85446
    <http://hg.openjdk.java.net/jdk9/dev/jdk/rev/a563aaa85446>



Reply via email to