Mercurial > hg > openjdk > lambda > jdk
changeset 7493:2d19796f57c4
Decouple Stream APIs from implementation; fix test bug
author | briangoetz |
---|---|
date | Thu, 21 Feb 2013 17:50:19 -0500 |
parents | 440c59e7eed0 |
children | ecc9a27d4b83 |
files | src/share/classes/java/util/stream/DelegatingStream.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/ReferencePipeline.java src/share/classes/java/util/stream/Stream.java test-ng/tests/org/openjdk/tests/java/util/RandomStreamTest.java |
diffstat | 10 files changed, 31 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/java/util/stream/DelegatingStream.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/DelegatingStream.java Thu Feb 21 17:50:19 2013 -0500 @@ -26,6 +26,7 @@ package java.util.stream; import java.util.Comparator; +import java.util.Iterator; import java.util.Objects; import java.util.Optional; import java.util.Spliterator; @@ -76,6 +77,11 @@ return delegate.getStreamFlags(); } + @Override + public Iterator<T> iterator() { + return delegate.iterator(); + } + // -- Stream methods -- public Stream<T> filter(Predicate<? super T> predicate) {
--- a/src/share/classes/java/util/stream/DoublePipeline.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/DoublePipeline.java Thu Feb 21 17:50:19 2013 -0500 @@ -135,6 +135,11 @@ } } + @Override + public DoubleIterator iterator() { + return Streams.doubleIteratorFrom(spliterator()); + } + // Stateless intermediate ops from DoubleStream @Override
--- a/src/share/classes/java/util/stream/DoubleStream.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/DoubleStream.java Thu Feb 21 17:50:19 2013 -0500 @@ -45,9 +45,7 @@ // BaseStream @Override - default DoubleIterator iterator() { - return Streams.doubleIteratorFrom(spliterator()); - } + DoubleIterator iterator(); @Override Spliterator.OfDouble spliterator();
--- a/src/share/classes/java/util/stream/IntPipeline.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/IntPipeline.java Thu Feb 21 17:50:19 2013 -0500 @@ -134,6 +134,11 @@ } } + @Override + public IntIterator iterator() { + return Streams.intIteratorFrom(spliterator()); + } + // Stateless intermediate ops from IntStream @Override
--- a/src/share/classes/java/util/stream/IntStream.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/IntStream.java Thu Feb 21 17:50:19 2013 -0500 @@ -52,9 +52,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { @Override - default IntIterator iterator() { - return Streams.intIteratorFrom(spliterator()); - } + IntIterator iterator(); @Override Spliterator.OfInt spliterator();
--- a/src/share/classes/java/util/stream/LongPipeline.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/LongPipeline.java Thu Feb 21 17:50:19 2013 -0500 @@ -135,6 +135,11 @@ } } + @Override + public LongIterator iterator() { + return Streams.longIteratorFrom(spliterator()); + } + // Stateless intermediate ops from LongStream @Override
--- a/src/share/classes/java/util/stream/LongStream.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/LongStream.java Thu Feb 21 17:50:19 2013 -0500 @@ -46,9 +46,7 @@ // BaseStream @Override - default LongIterator iterator() { - return Streams.longIteratorFrom(spliterator()); - } + LongIterator iterator(); @Override Spliterator.OfLong spliterator();
--- a/src/share/classes/java/util/stream/ReferencePipeline.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/ReferencePipeline.java Thu Feb 21 17:50:19 2013 -0500 @@ -25,6 +25,7 @@ package java.util.stream; import java.util.Comparator; +import java.util.Iterator; import java.util.Objects; import java.util.Optional; import java.util.Spliterator; @@ -114,6 +115,11 @@ return Nodes.makeBuilder(exactSizeIfKnown, generator); } + @Override + public Iterator<U> iterator() { + return Streams.iteratorFrom(spliterator()); + } + // Stateless intermediate operations from Stream @Override
--- a/src/share/classes/java/util/stream/Stream.java Thu Feb 21 16:43:05 2013 -0500 +++ b/src/share/classes/java/util/stream/Stream.java Thu Feb 21 17:50:19 2013 -0500 @@ -568,8 +568,4 @@ * @see #findFirst() */ Optional<T> findAny(); - - default Iterator<T> iterator() { - return Streams.iteratorFrom(spliterator()); - } }
--- a/test-ng/tests/org/openjdk/tests/java/util/RandomStreamTest.java Thu Feb 21 16:43:05 2013 -0500 +++ b/test-ng/tests/org/openjdk/tests/java/util/RandomStreamTest.java Thu Feb 21 17:50:19 2013 -0500 @@ -57,14 +57,13 @@ public void testThreadLocalIntStream() throws InterruptedException { ExecutorService e = Executors.newFixedThreadPool(10); - ThreadLocalRandom tlr = ThreadLocalRandom.current(); class RandomTask implements Runnable { int[] randoms; @Override public void run() { - randoms = tlr.ints().limit(100).toArray(); + randoms = ThreadLocalRandom.current().ints().limit(100).toArray(); } } RandomTask[] tasks = new RandomTask[10];