hg: lambda/lambda/jdk: - remove Spliterator.iterator(), see Streams.iteratorFrom for equivalent (original) (raw)

Brian Goetz brian.goetz at oracle.com
Tue Jan 22 10:10:51 PST 2013


Doug and I have been working on the form for Spliterator. We've combined the advance/get methods into tryAdvance, which sends the next element (if present) to the provided Block. So there is:

trySplit -> return spliterator or null tryAdvance(Block) -> send element to Block if present; return whether there was an element forEach(Block) -> send remaning elements to Block

On Jan 21, 2013, at 11:07 AM, Remi Forax wrote:

Paul (or Brian), can you explain how tryAdvance work ?

Rémi On 01/21/2013 04:17 PM, paul.sandoz at oracle.com wrote: Changeset: 31fea8a84b52 Author: psandoz Date: 2013-01-21 16:17 +0100 URL: http://hg.openjdk.java.net/lambda/lambda/jdk/rev/31fea8a84b52

- remove Spliterator.iterator(), see Streams.iteratorFrom for equivalent functionality. - Stream.iterator() becomes a default method adapting the spliterator to an iterator. - consolidate spliterator tests for ref and primitives. (Certain spliterator tests are disabled until constraints on intermixing tryAdvance/forEach and multiple calls to forEach are resolved.) ! src/share/classes/java/util/Spliterator.java ! src/share/classes/java/util/stream/AbstractPipeline.java ! src/share/classes/java/util/stream/BaseStream.java ! src/share/classes/java/util/stream/DoublePipeline.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/IntPipeline.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongPipeline.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Node.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/ReferencePipeline.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! src/share/classes/java/util/stream/Spliterators.java ! src/share/classes/java/util/stream/Stream.java ! src/share/classes/java/util/stream/Streams.java ! test-ng/bootlib/java/util/stream/DoubleStreamTestScenario.java ! test-ng/bootlib/java/util/stream/IntStreamTestScenario.java ! test-ng/bootlib/java/util/stream/LambdaTestHelpers.java ! test-ng/bootlib/java/util/stream/LongStreamTestScenario.java ! test-ng/bootlib/java/util/stream/SpliteratorTestHelper.java ! test-ng/bootlib/java/util/stream/StreamTestScenario.java ! test-ng/boottests/java/util/stream/DoubleNodeTest.java ! test-ng/boottests/java/util/stream/IntNodeTest.java ! test-ng/boottests/java/util/stream/LongNodeTest.java ! test-ng/boottests/java/util/stream/NodeBuilderTest.java ! test-ng/boottests/java/util/stream/NodeTest.java ! test-ng/boottests/java/util/stream/SpinedBufferTest.java ! test-ng/boottests/java/util/stream/ToArrayOpTest.java - test-ng/tests/org/openjdk/tests/java/util/stream/IntSpliteratorTest.java ! test-ng/tests/org/openjdk/tests/java/util/stream/IntStreamSpliteratorTest.java ! test-ng/tests/org/openjdk/tests/java/util/stream/SortedOpTest.java ! test-ng/tests/org/openjdk/tests/java/util/stream/SpliteratorTest.java



More information about the lambda-libs-spec-observers mailing list