提交 6fd41038 编写于 作者: P psandoz

8019395: Consolidate StreamSupport.{stream,parallelStream} into a single method

Reviewed-by: henryjen, briangoetz
上级 1d53b6a9
...@@ -587,6 +587,6 @@ public class BufferedReader extends Reader { ...@@ -587,6 +587,6 @@ public class BufferedReader extends Reader {
} }
} }
}; };
return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iter, Spliterator.ORDERED)); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iter, Spliterator.ORDERED), false);
} }
} }
...@@ -156,7 +156,8 @@ public interface CharSequence { ...@@ -156,7 +156,8 @@ public interface CharSequence {
new CharIterator(), new CharIterator(),
length(), length(),
Spliterator.ORDERED), Spliterator.ORDERED),
Spliterator.SUBSIZED | Spliterator.SIZED | Spliterator.ORDERED); Spliterator.SUBSIZED | Spliterator.SIZED | Spliterator.ORDERED,
false);
} }
/** /**
...@@ -227,6 +228,7 @@ public interface CharSequence { ...@@ -227,6 +228,7 @@ public interface CharSequence {
Spliterators.spliteratorUnknownSize( Spliterators.spliteratorUnknownSize(
new CodePointIterator(), new CodePointIterator(),
Spliterator.ORDERED), Spliterator.ORDERED),
Spliterator.SUBSIZED | Spliterator.SIZED | Spliterator.ORDERED); Spliterator.SUBSIZED | Spliterator.SIZED | Spliterator.ORDERED,
false);
} }
} }
...@@ -1495,7 +1495,7 @@ public abstract class $Type$Buffer ...@@ -1495,7 +1495,7 @@ public abstract class $Type$Buffer
#end[char] #end[char]
public $Streamtype$Stream $type$s() { public $Streamtype$Stream $type$s() {
return StreamSupport.$streamtype$Stream(() -> new $Type$BufferSpliterator(this), return StreamSupport.$streamtype$Stream(() -> new $Type$BufferSpliterator(this),
Buffer.SPLITERATOR_CHARACTERISTICS); Buffer.SPLITERATOR_CHARACTERISTICS, false);
} }
#end[streamableType] #end[streamableType]
......
...@@ -3269,9 +3269,10 @@ public final class Files { ...@@ -3269,9 +3269,10 @@ public final class Files {
} }
}; };
return new DelegatingCloseableStream<>(ds, Stream<Path> s = StreamSupport.stream(
StreamSupport.stream(Spliterators.spliteratorUnknownSize(it, Spliterators.spliteratorUnknownSize(it, Spliterator.DISTINCT),
Spliterator.DISTINCT))); false);
return new DelegatingCloseableStream<>(ds, s);
} }
/** /**
...@@ -3358,9 +3359,12 @@ public final class Files { ...@@ -3358,9 +3359,12 @@ public final class Files {
throws IOException throws IOException
{ {
FileTreeIterator iterator = new FileTreeIterator(start, maxDepth, options); FileTreeIterator iterator = new FileTreeIterator(start, maxDepth, options);
return new DelegatingCloseableStream<>(iterator,
StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator, Spliterator.DISTINCT)) Stream<Path> s = StreamSupport.stream(
.map(entry -> entry.file())); Spliterators.spliteratorUnknownSize(iterator, Spliterator.DISTINCT),
false).
map(entry -> entry.file());
return new DelegatingCloseableStream<>(iterator, s);
} }
/** /**
...@@ -3455,10 +3459,13 @@ public final class Files { ...@@ -3455,10 +3459,13 @@ public final class Files {
throws IOException throws IOException
{ {
FileTreeIterator iterator = new FileTreeIterator(start, maxDepth, options); FileTreeIterator iterator = new FileTreeIterator(start, maxDepth, options);
return new DelegatingCloseableStream<>(iterator,
StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator, Spliterator.DISTINCT)) Stream<Path> s = StreamSupport.stream(
.filter(entry -> matcher.test(entry.file(), entry.attributes())) Spliterators.spliteratorUnknownSize(iterator, Spliterator.DISTINCT),
.map(entry -> entry.file())); false).
filter(entry -> matcher.test(entry.file(), entry.attributes())).
map(entry -> entry.file());
return new DelegatingCloseableStream<>(iterator, s);
} }
/** /**
......
...@@ -4966,7 +4966,7 @@ public class Arrays { ...@@ -4966,7 +4966,7 @@ public class Arrays {
* @since 1.8 * @since 1.8
*/ */
public static <T> Stream<T> stream(T[] array, int startInclusive, int endExclusive) { public static <T> Stream<T> stream(T[] array, int startInclusive, int endExclusive) {
return StreamSupport.stream(spliterator(array, startInclusive, endExclusive)); return StreamSupport.stream(spliterator(array, startInclusive, endExclusive), false);
} }
/** /**
...@@ -4996,7 +4996,7 @@ public class Arrays { ...@@ -4996,7 +4996,7 @@ public class Arrays {
* @since 1.8 * @since 1.8
*/ */
public static IntStream stream(int[] array, int startInclusive, int endExclusive) { public static IntStream stream(int[] array, int startInclusive, int endExclusive) {
return StreamSupport.intStream(spliterator(array, startInclusive, endExclusive)); return StreamSupport.intStream(spliterator(array, startInclusive, endExclusive), false);
} }
/** /**
...@@ -5026,7 +5026,7 @@ public class Arrays { ...@@ -5026,7 +5026,7 @@ public class Arrays {
* @since 1.8 * @since 1.8
*/ */
public static LongStream stream(long[] array, int startInclusive, int endExclusive) { public static LongStream stream(long[] array, int startInclusive, int endExclusive) {
return StreamSupport.longStream(spliterator(array, startInclusive, endExclusive)); return StreamSupport.longStream(spliterator(array, startInclusive, endExclusive), false);
} }
/** /**
...@@ -5056,6 +5056,6 @@ public class Arrays { ...@@ -5056,6 +5056,6 @@ public class Arrays {
* @since 1.8 * @since 1.8
*/ */
public static DoubleStream stream(double[] array, int startInclusive, int endExclusive) { public static DoubleStream stream(double[] array, int startInclusive, int endExclusive) {
return StreamSupport.doubleStream(spliterator(array, startInclusive, endExclusive)); return StreamSupport.doubleStream(spliterator(array, startInclusive, endExclusive), false);
} }
} }
...@@ -1231,6 +1231,7 @@ public class BitSet implements Cloneable, java.io.Serializable { ...@@ -1231,6 +1231,7 @@ public class BitSet implements Cloneable, java.io.Serializable {
new BitSetIterator(), cardinality(), new BitSetIterator(), cardinality(),
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED), Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED),
Spliterator.SIZED | Spliterator.SUBSIZED | Spliterator.SIZED | Spliterator.SUBSIZED |
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED); Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.SORTED,
false);
} }
} }
...@@ -557,7 +557,7 @@ public interface Collection<E> extends Iterable<E> { ...@@ -557,7 +557,7 @@ public interface Collection<E> extends Iterable<E> {
* @since 1.8 * @since 1.8
*/ */
default Stream<E> stream() { default Stream<E> stream() {
return StreamSupport.stream(spliterator()); return StreamSupport.stream(spliterator(), false);
} }
/** /**
...@@ -578,6 +578,6 @@ public interface Collection<E> extends Iterable<E> { ...@@ -578,6 +578,6 @@ public interface Collection<E> extends Iterable<E> {
* @since 1.8 * @since 1.8
*/ */
default Stream<E> parallelStream() { default Stream<E> parallelStream() {
return StreamSupport.parallelStream(spliterator()); return StreamSupport.stream(spliterator(), true);
} }
} }
...@@ -1674,12 +1674,12 @@ public class Collections { ...@@ -1674,12 +1674,12 @@ public class Collections {
@Override @Override
public Stream<Entry<K,V>> stream() { public Stream<Entry<K,V>> stream() {
return StreamSupport.stream(spliterator()); return StreamSupport.stream(spliterator(), false);
} }
@Override @Override
public Stream<Entry<K,V>> parallelStream() { public Stream<Entry<K,V>> parallelStream() {
return StreamSupport.parallelStream(spliterator()); return StreamSupport.stream(spliterator(), true);
} }
public Iterator<Map.Entry<K,V>> iterator() { public Iterator<Map.Entry<K,V>> iterator() {
......
...@@ -272,7 +272,7 @@ class JarFile extends ZipFile { ...@@ -272,7 +272,7 @@ class JarFile extends ZipFile {
return StreamSupport.stream(Spliterators.spliterator( return StreamSupport.stream(Spliterators.spliterator(
new JarEntryIterator(), size(), new JarEntryIterator(), size(),
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.ORDERED | Spliterator.DISTINCT |
Spliterator.IMMUTABLE | Spliterator.NONNULL)); Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
} }
private class JarFileEntry extends JarEntry { private class JarFileEntry extends JarEntry {
......
...@@ -5815,6 +5815,6 @@ NEXT: while (i <= last) { ...@@ -5815,6 +5815,6 @@ NEXT: while (i <= last) {
} }
} }
return StreamSupport.stream(Spliterators.spliteratorUnknownSize( return StreamSupport.stream(Spliterators.spliteratorUnknownSize(
new MatcherIterator(), Spliterator.ORDERED | Spliterator.NONNULL)); new MatcherIterator(), Spliterator.ORDERED | Spliterator.NONNULL), false);
} }
} }
...@@ -672,7 +672,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> { ...@@ -672,7 +672,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> {
* @return an empty sequential stream * @return an empty sequential stream
*/ */
public static DoubleStream empty() { public static DoubleStream empty() {
return StreamSupport.doubleStream(Spliterators.emptyDoubleSpliterator()); return StreamSupport.doubleStream(Spliterators.emptyDoubleSpliterator(), false);
} }
/** /**
...@@ -682,7 +682,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> { ...@@ -682,7 +682,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> {
* @return a singleton sequential stream * @return a singleton sequential stream
*/ */
public static DoubleStream of(double t) { public static DoubleStream of(double t) {
return StreamSupport.doubleStream(new Streams.DoubleStreamBuilderImpl(t)); return StreamSupport.doubleStream(new Streams.DoubleStreamBuilderImpl(t), false);
} }
/** /**
...@@ -730,7 +730,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> { ...@@ -730,7 +730,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> {
}; };
return StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize( return StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize(
iterator, iterator,
Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL)); Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
} }
/** /**
...@@ -744,7 +744,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> { ...@@ -744,7 +744,7 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> {
public static DoubleStream generate(DoubleSupplier s) { public static DoubleStream generate(DoubleSupplier s) {
Objects.requireNonNull(s); Objects.requireNonNull(s);
return StreamSupport.doubleStream( return StreamSupport.doubleStream(
new StreamSpliterators.InfiniteSupplyingSpliterator.OfDouble(Long.MAX_VALUE, s)); new StreamSpliterators.InfiniteSupplyingSpliterator.OfDouble(Long.MAX_VALUE, s), false);
} }
/** /**
...@@ -764,8 +764,6 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> { ...@@ -764,8 +764,6 @@ public interface DoubleStream extends BaseStream<Double, DoubleStream> {
Spliterator.OfDouble split = new Streams.ConcatSpliterator.OfDouble( Spliterator.OfDouble split = new Streams.ConcatSpliterator.OfDouble(
a.spliterator(), b.spliterator()); a.spliterator(), b.spliterator());
return (a.isParallel() || b.isParallel()) return StreamSupport.doubleStream(split, a.isParallel() || b.isParallel());
? StreamSupport.doubleParallelStream(split)
: StreamSupport.doubleStream(split);
} }
} }
...@@ -674,7 +674,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -674,7 +674,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
* @return an empty sequential stream * @return an empty sequential stream
*/ */
public static IntStream empty() { public static IntStream empty() {
return StreamSupport.intStream(Spliterators.emptyIntSpliterator()); return StreamSupport.intStream(Spliterators.emptyIntSpliterator(), false);
} }
/** /**
...@@ -684,7 +684,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -684,7 +684,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
* @return a singleton sequential stream * @return a singleton sequential stream
*/ */
public static IntStream of(int t) { public static IntStream of(int t) {
return StreamSupport.intStream(new Streams.IntStreamBuilderImpl(t)); return StreamSupport.intStream(new Streams.IntStreamBuilderImpl(t), false);
} }
/** /**
...@@ -732,7 +732,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -732,7 +732,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
}; };
return StreamSupport.intStream(Spliterators.spliteratorUnknownSize( return StreamSupport.intStream(Spliterators.spliteratorUnknownSize(
iterator, iterator,
Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL)); Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
} }
/** /**
...@@ -746,7 +746,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -746,7 +746,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
public static IntStream generate(IntSupplier s) { public static IntStream generate(IntSupplier s) {
Objects.requireNonNull(s); Objects.requireNonNull(s);
return StreamSupport.intStream( return StreamSupport.intStream(
new StreamSpliterators.InfiniteSupplyingSpliterator.OfInt(Long.MAX_VALUE, s)); new StreamSpliterators.InfiniteSupplyingSpliterator.OfInt(Long.MAX_VALUE, s), false);
} }
/** /**
...@@ -771,7 +771,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -771,7 +771,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
return empty(); return empty();
} else { } else {
return StreamSupport.intStream( return StreamSupport.intStream(
new Streams.RangeIntSpliterator(startInclusive, endExclusive, false)); new Streams.RangeIntSpliterator(startInclusive, endExclusive, false), false);
} }
} }
...@@ -797,7 +797,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -797,7 +797,7 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
return empty(); return empty();
} else { } else {
return StreamSupport.intStream( return StreamSupport.intStream(
new Streams.RangeIntSpliterator(startInclusive, endInclusive, true)); new Streams.RangeIntSpliterator(startInclusive, endInclusive, true), false);
} }
} }
...@@ -818,8 +818,6 @@ public interface IntStream extends BaseStream<Integer, IntStream> { ...@@ -818,8 +818,6 @@ public interface IntStream extends BaseStream<Integer, IntStream> {
Spliterator.OfInt split = new Streams.ConcatSpliterator.OfInt( Spliterator.OfInt split = new Streams.ConcatSpliterator.OfInt(
a.spliterator(), b.spliterator()); a.spliterator(), b.spliterator());
return (a.isParallel() || b.isParallel()) return StreamSupport.intStream(split, a.isParallel() || b.isParallel());
? StreamSupport.intParallelStream(split)
: StreamSupport.intStream(split);
} }
} }
...@@ -665,7 +665,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -665,7 +665,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
* @return an empty sequential stream * @return an empty sequential stream
*/ */
public static LongStream empty() { public static LongStream empty() {
return StreamSupport.longStream(Spliterators.emptyLongSpliterator()); return StreamSupport.longStream(Spliterators.emptyLongSpliterator(), false);
} }
/** /**
...@@ -675,7 +675,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -675,7 +675,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
* @return a singleton sequential stream * @return a singleton sequential stream
*/ */
public static LongStream of(long t) { public static LongStream of(long t) {
return StreamSupport.longStream(new Streams.LongStreamBuilderImpl(t)); return StreamSupport.longStream(new Streams.LongStreamBuilderImpl(t), false);
} }
/** /**
...@@ -723,7 +723,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -723,7 +723,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
}; };
return StreamSupport.longStream(Spliterators.spliteratorUnknownSize( return StreamSupport.longStream(Spliterators.spliteratorUnknownSize(
iterator, iterator,
Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL)); Spliterator.ORDERED | Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
} }
/** /**
...@@ -737,7 +737,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -737,7 +737,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
public static LongStream generate(LongSupplier s) { public static LongStream generate(LongSupplier s) {
Objects.requireNonNull(s); Objects.requireNonNull(s);
return StreamSupport.longStream( return StreamSupport.longStream(
new StreamSpliterators.InfiniteSupplyingSpliterator.OfLong(Long.MAX_VALUE, s)); new StreamSpliterators.InfiniteSupplyingSpliterator.OfLong(Long.MAX_VALUE, s), false);
} }
/** /**
...@@ -769,7 +769,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -769,7 +769,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
return concat(range(startInclusive, m), range(m, endExclusive)); return concat(range(startInclusive, m), range(m, endExclusive));
} else { } else {
return StreamSupport.longStream( return StreamSupport.longStream(
new Streams.RangeLongSpliterator(startInclusive, endExclusive, false)); new Streams.RangeLongSpliterator(startInclusive, endExclusive, false), false);
} }
} }
...@@ -803,7 +803,7 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -803,7 +803,7 @@ public interface LongStream extends BaseStream<Long, LongStream> {
return concat(range(startInclusive, m), rangeClosed(m, endInclusive)); return concat(range(startInclusive, m), rangeClosed(m, endInclusive));
} else { } else {
return StreamSupport.longStream( return StreamSupport.longStream(
new Streams.RangeLongSpliterator(startInclusive, endInclusive, true)); new Streams.RangeLongSpliterator(startInclusive, endInclusive, true), false);
} }
} }
...@@ -824,8 +824,6 @@ public interface LongStream extends BaseStream<Long, LongStream> { ...@@ -824,8 +824,6 @@ public interface LongStream extends BaseStream<Long, LongStream> {
Spliterator.OfLong split = new Streams.ConcatSpliterator.OfLong( Spliterator.OfLong split = new Streams.ConcatSpliterator.OfLong(
a.spliterator(), b.spliterator()); a.spliterator(), b.spliterator());
return (a.isParallel() || b.isParallel()) return StreamSupport.longStream(split, a.isParallel() || b.isParallel());
? StreamSupport.longParallelStream(split)
: StreamSupport.longStream(split);
} }
} }
...@@ -805,7 +805,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> { ...@@ -805,7 +805,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> {
* @return an empty sequential stream * @return an empty sequential stream
*/ */
public static<T> Stream<T> empty() { public static<T> Stream<T> empty() {
return StreamSupport.stream(Spliterators.<T>emptySpliterator()); return StreamSupport.stream(Spliterators.<T>emptySpliterator(), false);
} }
/** /**
...@@ -816,7 +816,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> { ...@@ -816,7 +816,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> {
* @return a singleton sequential stream * @return a singleton sequential stream
*/ */
public static<T> Stream<T> of(T t) { public static<T> Stream<T> of(T t) {
return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t)); return StreamSupport.stream(new Streams.StreamBuilderImpl<>(t), false);
} }
/** /**
...@@ -866,7 +866,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> { ...@@ -866,7 +866,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> {
}; };
return StreamSupport.stream(Spliterators.spliteratorUnknownSize( return StreamSupport.stream(Spliterators.spliteratorUnknownSize(
iterator, iterator,
Spliterator.ORDERED | Spliterator.IMMUTABLE)); Spliterator.ORDERED | Spliterator.IMMUTABLE), false);
} }
/** /**
...@@ -881,7 +881,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> { ...@@ -881,7 +881,7 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> {
public static<T> Stream<T> generate(Supplier<T> s) { public static<T> Stream<T> generate(Supplier<T> s) {
Objects.requireNonNull(s); Objects.requireNonNull(s);
return StreamSupport.stream( return StreamSupport.stream(
new StreamSpliterators.InfiniteSupplyingSpliterator.OfRef<>(Long.MAX_VALUE, s)); new StreamSpliterators.InfiniteSupplyingSpliterator.OfRef<>(Long.MAX_VALUE, s), false);
} }
/** /**
...@@ -904,8 +904,6 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> { ...@@ -904,8 +904,6 @@ public interface Stream<T> extends BaseStream<T, Stream<T>> {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
Spliterator<T> split = new Streams.ConcatSpliterator.OfRef<>( Spliterator<T> split = new Streams.ConcatSpliterator.OfRef<>(
(Spliterator<T>) a.spliterator(), (Spliterator<T>) b.spliterator()); (Spliterator<T>) a.spliterator(), (Spliterator<T>) b.spliterator());
return (a.isParallel() || b.isParallel()) return StreamSupport.stream(split, a.isParallel() || b.isParallel());
? StreamSupport.parallelStream(split)
: StreamSupport.stream(split);
} }
} }
...@@ -25,10 +25,7 @@ ...@@ -25,10 +25,7 @@
package java.util.stream; package java.util.stream;
import java.util.Comparator; import java.util.Comparator;
import java.util.Objects;
import java.util.Spliterator; import java.util.Spliterator;
import java.util.Spliterators;
import java.util.function.BiFunction;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.function.DoubleConsumer; import java.util.function.DoubleConsumer;
import java.util.function.IntConsumer; import java.util.function.IntConsumer;
...@@ -379,7 +376,7 @@ final class Streams { ...@@ -379,7 +376,7 @@ final class Streams {
count = -count - 1; count = -count - 1;
// Use this spliterator if 0 or 1 elements, otherwise use // Use this spliterator if 0 or 1 elements, otherwise use
// the spliterator of the spined buffer // the spliterator of the spined buffer
return (c < 2) ? StreamSupport.stream(this) : StreamSupport.stream(buffer.spliterator()); return (c < 2) ? StreamSupport.stream(this, false) : StreamSupport.stream(buffer.spliterator(), false);
} }
throw new IllegalStateException(); throw new IllegalStateException();
...@@ -466,7 +463,7 @@ final class Streams { ...@@ -466,7 +463,7 @@ final class Streams {
count = -count - 1; count = -count - 1;
// Use this spliterator if 0 or 1 elements, otherwise use // Use this spliterator if 0 or 1 elements, otherwise use
// the spliterator of the spined buffer // the spliterator of the spined buffer
return (c < 2) ? StreamSupport.intStream(this) : StreamSupport.intStream(buffer.spliterator()); return (c < 2) ? StreamSupport.intStream(this, false) : StreamSupport.intStream(buffer.spliterator(), false);
} }
throw new IllegalStateException(); throw new IllegalStateException();
...@@ -553,7 +550,7 @@ final class Streams { ...@@ -553,7 +550,7 @@ final class Streams {
count = -count - 1; count = -count - 1;
// Use this spliterator if 0 or 1 elements, otherwise use // Use this spliterator if 0 or 1 elements, otherwise use
// the spliterator of the spined buffer // the spliterator of the spined buffer
return (c < 2) ? StreamSupport.longStream(this) : StreamSupport.longStream(buffer.spliterator()); return (c < 2) ? StreamSupport.longStream(this, false) : StreamSupport.longStream(buffer.spliterator(), false);
} }
throw new IllegalStateException(); throw new IllegalStateException();
...@@ -640,7 +637,7 @@ final class Streams { ...@@ -640,7 +637,7 @@ final class Streams {
count = -count - 1; count = -count - 1;
// Use this spliterator if 0 or 1 elements, otherwise use // Use this spliterator if 0 or 1 elements, otherwise use
// the spliterator of the spined buffer // the spliterator of the spined buffer
return (c < 2) ? StreamSupport.doubleStream(this) : StreamSupport.doubleStream(buffer.spliterator()); return (c < 2) ? StreamSupport.doubleStream(this, false) : StreamSupport.doubleStream(buffer.spliterator(), false);
} }
throw new IllegalStateException(); throw new IllegalStateException();
......
...@@ -551,7 +551,7 @@ class ZipFile implements ZipConstants, Closeable { ...@@ -551,7 +551,7 @@ class ZipFile implements ZipConstants, Closeable {
return StreamSupport.stream(Spliterators.spliterator( return StreamSupport.stream(Spliterators.spliterator(
new ZipEntryIterator(), size(), new ZipEntryIterator(), size(),
Spliterator.ORDERED | Spliterator.DISTINCT | Spliterator.ORDERED | Spliterator.DISTINCT |
Spliterator.IMMUTABLE | Spliterator.NONNULL)); Spliterator.IMMUTABLE | Spliterator.NONNULL), false);
} }
private ZipEntry getZipEntry(String name, long jzentry) { private ZipEntry getZipEntry(String name, long jzentry) {
......
...@@ -140,9 +140,9 @@ public enum DoubleStreamTestScenario implements OpTestCase.BaseStreamTestScenari ...@@ -140,9 +140,9 @@ public enum DoubleStreamTestScenario implements OpTestCase.BaseStreamTestScenari
void _run(TestData<T, S_IN> data, DoubleConsumer b, Function<S_IN, DoubleStream> m) { void _run(TestData<T, S_IN> data, DoubleConsumer b, Function<S_IN, DoubleStream> m) {
DoubleStream s = m.apply(data.parallelStream()); DoubleStream s = m.apply(data.parallelStream());
Spliterator.OfDouble sp = s.spliterator(); Spliterator.OfDouble sp = s.spliterator();
DoubleStream ss = StreamSupport.doubleParallelStream(() -> sp, DoubleStream ss = StreamSupport.doubleStream(() -> sp,
StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s)) StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s))
| (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED)); | (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED), true);
for (double t : ss.toArray()) for (double t : ss.toArray())
b.accept(t); b.accept(t);
} }
......
...@@ -140,9 +140,10 @@ public enum IntStreamTestScenario implements OpTestCase.BaseStreamTestScenario { ...@@ -140,9 +140,10 @@ public enum IntStreamTestScenario implements OpTestCase.BaseStreamTestScenario {
void _run(TestData<T, S_IN> data, IntConsumer b, Function<S_IN, IntStream> m) { void _run(TestData<T, S_IN> data, IntConsumer b, Function<S_IN, IntStream> m) {
IntStream s = m.apply(data.parallelStream()); IntStream s = m.apply(data.parallelStream());
Spliterator.OfInt sp = s.spliterator(); Spliterator.OfInt sp = s.spliterator();
IntStream ss = StreamSupport.intParallelStream(() -> sp, IntStream ss = StreamSupport.intStream(() -> sp,
StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s)) StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s))
| (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED)); | (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED),
true);
for (int t : ss.toArray()) for (int t : ss.toArray())
b.accept(t); b.accept(t);
} }
......
...@@ -140,9 +140,9 @@ public enum LongStreamTestScenario implements OpTestCase.BaseStreamTestScenario ...@@ -140,9 +140,9 @@ public enum LongStreamTestScenario implements OpTestCase.BaseStreamTestScenario
void _run(TestData<T, S_IN> data, LongConsumer b, Function<S_IN, LongStream> m) { void _run(TestData<T, S_IN> data, LongConsumer b, Function<S_IN, LongStream> m) {
LongStream s = m.apply(data.parallelStream()); LongStream s = m.apply(data.parallelStream());
Spliterator.OfLong sp = s.spliterator(); Spliterator.OfLong sp = s.spliterator();
LongStream ss = StreamSupport.longParallelStream(() -> sp, LongStream ss = StreamSupport.longStream(() -> sp,
StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s)) StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s))
| (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED)); | (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED), true);
for (long t : ss.toArray()) for (long t : ss.toArray())
b.accept(t); b.accept(t);
} }
......
...@@ -151,9 +151,9 @@ public enum StreamTestScenario implements OpTestCase.BaseStreamTestScenario { ...@@ -151,9 +151,9 @@ public enum StreamTestScenario implements OpTestCase.BaseStreamTestScenario {
void _run(TestData<T, S_IN> data, Consumer<U> b, Function<S_IN, Stream<U>> m) { void _run(TestData<T, S_IN> data, Consumer<U> b, Function<S_IN, Stream<U>> m) {
Stream<U> s = m.apply(data.parallelStream()); Stream<U> s = m.apply(data.parallelStream());
Spliterator<U> sp = s.spliterator(); Spliterator<U> sp = s.spliterator();
Stream<U> ss = StreamSupport.parallelStream(() -> sp, Stream<U> ss = StreamSupport.stream(() -> sp,
StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s)) StreamOpFlag.toCharacteristics(OpTestCase.getStreamFlags(s))
| (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED)); | (sp.getExactSizeIfKnown() < 0 ? 0 : Spliterator.SIZED), true);
for (Object t : ss.toArray()) for (Object t : ss.toArray())
b.accept((U) t); b.accept((U) t);
} }
......
...@@ -87,8 +87,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -87,8 +87,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static <T> OfRef<T> ofSpinedBuffer(String name, SpinedBuffer<T> buffer) { public static <T> OfRef<T> ofSpinedBuffer(String name, SpinedBuffer<T> buffer) {
return new AbstractTestData.RefTestData<>(name, buffer, return new AbstractTestData.RefTestData<>(name, buffer,
b -> StreamSupport.stream(b.spliterator()), b -> StreamSupport.stream(b.spliterator(), false),
b -> StreamSupport.parallelStream(b.spliterator()), b -> StreamSupport.stream(b.spliterator(), true),
SpinedBuffer::spliterator, SpinedBuffer::spliterator,
b -> (int) b.count()); b -> (int) b.count());
} }
...@@ -103,8 +103,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -103,8 +103,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static <T> OfRef<T> ofRefNode(String name, Node<T> node) { public static <T> OfRef<T> ofRefNode(String name, Node<T> node) {
return new AbstractTestData.RefTestData<>(name, node, return new AbstractTestData.RefTestData<>(name, node,
n -> StreamSupport.stream(n::spliterator, Spliterator.SIZED | Spliterator.ORDERED), n -> StreamSupport.stream(n::spliterator, Spliterator.SIZED | Spliterator.ORDERED, false),
n -> StreamSupport.parallelStream(n::spliterator, Spliterator.SIZED | Spliterator.ORDERED), n -> StreamSupport.stream(n::spliterator, Spliterator.SIZED | Spliterator.ORDERED, true),
Node::spliterator, Node::spliterator,
n -> (int) n.count()); n -> (int) n.count());
} }
...@@ -117,8 +117,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -117,8 +117,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfInt ofSpinedBuffer(String name, SpinedBuffer.OfInt buffer) { public static OfInt ofSpinedBuffer(String name, SpinedBuffer.OfInt buffer) {
return new AbstractTestData.IntTestData<>(name, buffer, return new AbstractTestData.IntTestData<>(name, buffer,
b -> StreamSupport.intStream(b.spliterator()), b -> StreamSupport.intStream(b.spliterator(), false),
b -> StreamSupport.intParallelStream(b.spliterator()), b -> StreamSupport.intStream(b.spliterator(), true),
SpinedBuffer.OfInt::spliterator, SpinedBuffer.OfInt::spliterator,
b -> (int) b.count()); b -> (int) b.count());
} }
...@@ -134,8 +134,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -134,8 +134,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfInt ofNode(String name, Node.OfInt node) { public static OfInt ofNode(String name, Node.OfInt node) {
int characteristics = Spliterator.SIZED | Spliterator.ORDERED; int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
return new AbstractTestData.IntTestData<>(name, node, return new AbstractTestData.IntTestData<>(name, node,
n -> StreamSupport.intStream(n::spliterator, characteristics), n -> StreamSupport.intStream(n::spliterator, characteristics, false),
n -> StreamSupport.intParallelStream(n::spliterator, characteristics), n -> StreamSupport.intStream(n::spliterator, characteristics, true),
Node.OfInt::spliterator, Node.OfInt::spliterator,
n -> (int) n.count()); n -> (int) n.count());
} }
...@@ -148,8 +148,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -148,8 +148,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfLong ofSpinedBuffer(String name, SpinedBuffer.OfLong buffer) { public static OfLong ofSpinedBuffer(String name, SpinedBuffer.OfLong buffer) {
return new AbstractTestData.LongTestData<>(name, buffer, return new AbstractTestData.LongTestData<>(name, buffer,
b -> StreamSupport.longStream(b.spliterator()), b -> StreamSupport.longStream(b.spliterator(), false),
b -> StreamSupport.longParallelStream(b.spliterator()), b -> StreamSupport.longStream(b.spliterator(), true),
SpinedBuffer.OfLong::spliterator, SpinedBuffer.OfLong::spliterator,
b -> (int) b.count()); b -> (int) b.count());
} }
...@@ -165,8 +165,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -165,8 +165,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfLong ofNode(String name, Node.OfLong node) { public static OfLong ofNode(String name, Node.OfLong node) {
int characteristics = Spliterator.SIZED | Spliterator.ORDERED; int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
return new AbstractTestData.LongTestData<>(name, node, return new AbstractTestData.LongTestData<>(name, node,
n -> StreamSupport.longStream(n::spliterator, characteristics), n -> StreamSupport.longStream(n::spliterator, characteristics, false),
n -> StreamSupport.longParallelStream(n::spliterator, characteristics), n -> StreamSupport.longStream(n::spliterator, characteristics, true),
Node.OfLong::spliterator, Node.OfLong::spliterator,
n -> (int) n.count()); n -> (int) n.count());
} }
...@@ -179,8 +179,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -179,8 +179,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfDouble ofSpinedBuffer(String name, SpinedBuffer.OfDouble buffer) { public static OfDouble ofSpinedBuffer(String name, SpinedBuffer.OfDouble buffer) {
return new AbstractTestData.DoubleTestData<>(name, buffer, return new AbstractTestData.DoubleTestData<>(name, buffer,
b -> StreamSupport.doubleStream(b.spliterator()), b -> StreamSupport.doubleStream(b.spliterator(), false),
b -> StreamSupport.doubleParallelStream(b.spliterator()), b -> StreamSupport.doubleStream(b.spliterator(), true),
SpinedBuffer.OfDouble::spliterator, SpinedBuffer.OfDouble::spliterator,
b -> (int) b.count()); b -> (int) b.count());
} }
...@@ -196,8 +196,8 @@ public interface TestData<T, S extends BaseStream<T, S>> ...@@ -196,8 +196,8 @@ public interface TestData<T, S extends BaseStream<T, S>>
public static OfDouble ofNode(String name, Node.OfDouble node) { public static OfDouble ofNode(String name, Node.OfDouble node) {
int characteristics = Spliterator.SIZED | Spliterator.ORDERED; int characteristics = Spliterator.SIZED | Spliterator.ORDERED;
return new AbstractTestData.DoubleTestData<>(name, node, return new AbstractTestData.DoubleTestData<>(name, node,
n -> StreamSupport.doubleStream(n::spliterator, characteristics), n -> StreamSupport.doubleStream(n::spliterator, characteristics, false),
n -> StreamSupport.doubleParallelStream(n::spliterator, characteristics), n -> StreamSupport.doubleStream(n::spliterator, characteristics, true),
Node.OfDouble::spliterator, Node.OfDouble::spliterator,
n -> (int) n.count()); n -> (int) n.count());
} }
......
...@@ -86,8 +86,8 @@ public class DistinctOpTest extends OpTestCase { ...@@ -86,8 +86,8 @@ public class DistinctOpTest extends OpTestCase {
static class SortedTestData<T> extends TestData.AbstractTestData.RefTestData<T, List<T>> { static class SortedTestData<T> extends TestData.AbstractTestData.RefTestData<T, List<T>> {
SortedTestData(List<T> coll) { SortedTestData(List<T> coll) {
super("SortedTestData", coll, super("SortedTestData", coll,
c -> StreamSupport.stream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED)), c -> StreamSupport.stream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED), false),
c -> StreamSupport.parallelStream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED)), c -> StreamSupport.stream(Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED), true),
c -> Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED), c -> Spliterators.spliterator(c.toArray(), Spliterator.ORDERED | Spliterator.SORTED),
List::size); List::size);
} }
......
...@@ -306,7 +306,7 @@ public class InfiniteStreamWithLimitOpTest extends OpTestCase { ...@@ -306,7 +306,7 @@ public class InfiniteStreamWithLimitOpTest extends OpTestCase {
private TestData.OfLong proxiedLongRange(long l, long u) { private TestData.OfLong proxiedLongRange(long l, long u) {
return TestData.Factory.ofLongSupplier( return TestData.Factory.ofLongSupplier(
String.format("[%d, %d)", l, u), String.format("[%d, %d)", l, u),
() -> StreamSupport.longStream(proxyNotSubsized(LongStream.range(l, u).spliterator()))); () -> StreamSupport.longStream(proxyNotSubsized(LongStream.range(l, u).spliterator()), false));
} }
@Test(dataProvider = "Stream.limit") @Test(dataProvider = "Stream.limit")
......
...@@ -155,7 +155,7 @@ public class MatchOpTest extends OpTestCase { ...@@ -155,7 +155,7 @@ public class MatchOpTest extends OpTestCase {
} }
Supplier<Iterator<Integer>> source = () -> Arrays.asList(1, 2, 3, 4).iterator(); Supplier<Iterator<Integer>> source = () -> Arrays.asList(1, 2, 3, 4).iterator();
Supplier<Stream<Integer>> s = () -> StreamSupport.stream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0)); Supplier<Stream<Integer>> s = () -> StreamSupport.stream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0), false);
assertFalse(s.get().allMatch(i -> i > 3)); assertFalse(s.get().allMatch(i -> i > 3));
assertTrue(s.get().anyMatch(i -> i > 3)); assertTrue(s.get().anyMatch(i -> i > 3));
...@@ -240,7 +240,7 @@ public class MatchOpTest extends OpTestCase { ...@@ -240,7 +240,7 @@ public class MatchOpTest extends OpTestCase {
} }
Supplier<PrimitiveIterator.OfInt> source = () -> Arrays.stream(new int[]{1, 2, 3, 4}).iterator(); Supplier<PrimitiveIterator.OfInt> source = () -> Arrays.stream(new int[]{1, 2, 3, 4}).iterator();
Supplier<IntStream> s = () -> StreamSupport.intStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0)); Supplier<IntStream> s = () -> StreamSupport.intStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0), false);
assertFalse(s.get().allMatch(i -> i > 3)); assertFalse(s.get().allMatch(i -> i > 3));
assertTrue(s.get().anyMatch(i -> i > 3)); assertTrue(s.get().anyMatch(i -> i > 3));
...@@ -325,7 +325,7 @@ public class MatchOpTest extends OpTestCase { ...@@ -325,7 +325,7 @@ public class MatchOpTest extends OpTestCase {
} }
Supplier<PrimitiveIterator.OfLong> source = () -> Arrays.stream(new long[]{1, 2, 3, 4}).iterator(); Supplier<PrimitiveIterator.OfLong> source = () -> Arrays.stream(new long[]{1, 2, 3, 4}).iterator();
Supplier<LongStream> s = () -> StreamSupport.longStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0)); Supplier<LongStream> s = () -> StreamSupport.longStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0), false);
assertFalse(s.get().allMatch(i -> i > 3)); assertFalse(s.get().allMatch(i -> i > 3));
assertTrue(s.get().anyMatch(i -> i > 3)); assertTrue(s.get().anyMatch(i -> i > 3));
...@@ -410,7 +410,7 @@ public class MatchOpTest extends OpTestCase { ...@@ -410,7 +410,7 @@ public class MatchOpTest extends OpTestCase {
} }
Supplier<PrimitiveIterator.OfDouble> source = () -> Arrays.stream(new double[]{1, 2, 3, 4}).iterator(); Supplier<PrimitiveIterator.OfDouble> source = () -> Arrays.stream(new double[]{1, 2, 3, 4}).iterator();
Supplier<DoubleStream> s = () -> StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0)); Supplier<DoubleStream> s = () -> StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize(new CycleIterator(source), 0), false);
assertFalse(s.get().allMatch(i -> i > 3)); assertFalse(s.get().allMatch(i -> i > 3));
assertTrue(s.get().anyMatch(i -> i > 3)); assertTrue(s.get().anyMatch(i -> i > 3));
......
...@@ -237,7 +237,7 @@ public class SliceOpTest extends OpTestCase { ...@@ -237,7 +237,7 @@ public class SliceOpTest extends OpTestCase {
List<Integer> list = IntStream.range(0, 100).boxed().collect(Collectors.toList()); List<Integer> list = IntStream.range(0, 100).boxed().collect(Collectors.toList());
TestData.OfRef<Integer> data = TestData.Factory.ofSupplier( TestData.OfRef<Integer> data = TestData.Factory.ofSupplier(
"Non splitting, not SUBSIZED, ORDERED, stream", "Non splitting, not SUBSIZED, ORDERED, stream",
() -> StreamSupport.stream(new NonSplittingNotSubsizedOrderedSpliterator<>(list.spliterator()))); () -> StreamSupport.stream(new NonSplittingNotSubsizedOrderedSpliterator<>(list.spliterator()), false));
testSkipLimitOps("testSkipLimitOpsWithNonSplittingSpliterator", data); testSkipLimitOps("testSkipLimitOpsWithNonSplittingSpliterator", data);
} }
......
...@@ -78,7 +78,7 @@ public class SortedOpTest extends OpTestCase { ...@@ -78,7 +78,7 @@ public class SortedOpTest extends OpTestCase {
} }
private <T> Stream<T> unknownSizeStream(List<T> l) { private <T> Stream<T> unknownSizeStream(List<T> l) {
return StreamSupport.stream(Spliterators.spliteratorUnknownSize(l.iterator(), 0)); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(l.iterator(), 0), false);
} }
@Test(dataProvider = "StreamTestData<Integer>", dataProviderClass = StreamTestDataProvider.class) @Test(dataProvider = "StreamTestData<Integer>", dataProviderClass = StreamTestDataProvider.class)
...@@ -150,7 +150,7 @@ public class SortedOpTest extends OpTestCase { ...@@ -150,7 +150,7 @@ public class SortedOpTest extends OpTestCase {
} }
private IntStream unknownSizeIntStream(int[] a) { private IntStream unknownSizeIntStream(int[] a) {
return StreamSupport.intStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0)); return StreamSupport.intStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0), false);
} }
@Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class) @Test(dataProvider = "IntStreamTestData", dataProviderClass = IntStreamTestDataProvider.class)
...@@ -193,7 +193,7 @@ public class SortedOpTest extends OpTestCase { ...@@ -193,7 +193,7 @@ public class SortedOpTest extends OpTestCase {
} }
private LongStream unknownSizeLongStream(long[] a) { private LongStream unknownSizeLongStream(long[] a) {
return StreamSupport.longStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0)); return StreamSupport.longStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0), false);
} }
@Test(dataProvider = "LongStreamTestData", dataProviderClass = LongStreamTestDataProvider.class) @Test(dataProvider = "LongStreamTestData", dataProviderClass = LongStreamTestDataProvider.class)
...@@ -236,7 +236,7 @@ public class SortedOpTest extends OpTestCase { ...@@ -236,7 +236,7 @@ public class SortedOpTest extends OpTestCase {
} }
private DoubleStream unknownSizeDoubleStream(double[] a) { private DoubleStream unknownSizeDoubleStream(double[] a) {
return StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0)); return StreamSupport.doubleStream(Spliterators.spliteratorUnknownSize(Spliterators.iterator(Arrays.spliterator(a)), 0), false);
} }
@Test(dataProvider = "DoubleStreamTestData", dataProviderClass = DoubleStreamTestDataProvider.class) @Test(dataProvider = "DoubleStreamTestData", dataProviderClass = DoubleStreamTestDataProvider.class)
......
...@@ -266,7 +266,7 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -266,7 +266,7 @@ public class StreamSpliteratorTest extends OpTestCase {
setContext("proxyEstimateSize", proxyEstimateSize); setContext("proxyEstimateSize", proxyEstimateSize);
Spliterator<Integer> sp = intermediateOp.apply(l.stream()).spliterator(); Spliterator<Integer> sp = intermediateOp.apply(l.stream()).spliterator();
ProxyNoExactSizeSpliterator<Integer> psp = new ProxyNoExactSizeSpliterator<>(sp, proxyEstimateSize); ProxyNoExactSizeSpliterator<Integer> psp = new ProxyNoExactSizeSpliterator<>(sp, proxyEstimateSize);
Stream<Integer> s = StreamSupport.parallelStream(psp); Stream<Integer> s = StreamSupport.stream(psp, true);
terminalOp.accept(s); terminalOp.accept(s);
Assert.assertTrue(psp.splits > 0, Assert.assertTrue(psp.splits > 0,
String.format("Number of splits should be greater that zero when proxyEstimateSize is %s", String.format("Number of splits should be greater that zero when proxyEstimateSize is %s",
...@@ -290,14 +290,14 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -290,14 +290,14 @@ public class StreamSpliteratorTest extends OpTestCase {
withData(data). withData(data).
stream((Stream<Integer> in) -> { stream((Stream<Integer> in) -> {
Stream<Integer> out = f.apply(in); Stream<Integer> out = f.apply(in);
return StreamSupport.stream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.stream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), false);
}). }).
exercise(); exercise();
withData(data). withData(data).
stream((Stream<Integer> in) -> { stream((Stream<Integer> in) -> {
Stream<Integer> out = f.apply(in); Stream<Integer> out = f.apply(in);
return StreamSupport.parallelStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.stream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), true);
}). }).
exercise(); exercise();
} }
...@@ -362,7 +362,7 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -362,7 +362,7 @@ public class StreamSpliteratorTest extends OpTestCase {
// @@@ Need way to obtain the target size // @@@ Need way to obtain the target size
Spliterator.OfInt sp = intermediateOp.apply(IntStream.range(0, 1000)).spliterator(); Spliterator.OfInt sp = intermediateOp.apply(IntStream.range(0, 1000)).spliterator();
ProxyNoExactSizeSpliterator.OfInt psp = new ProxyNoExactSizeSpliterator.OfInt(sp, proxyEstimateSize); ProxyNoExactSizeSpliterator.OfInt psp = new ProxyNoExactSizeSpliterator.OfInt(sp, proxyEstimateSize);
IntStream s = StreamSupport.intParallelStream(psp); IntStream s = StreamSupport.intStream(psp, true);
terminalOp.accept(s); terminalOp.accept(s);
Assert.assertTrue(psp.splits > 0, Assert.assertTrue(psp.splits > 0,
String.format("Number of splits should be greater that zero when proxyEstimateSize is %s", String.format("Number of splits should be greater that zero when proxyEstimateSize is %s",
...@@ -386,14 +386,14 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -386,14 +386,14 @@ public class StreamSpliteratorTest extends OpTestCase {
withData(data). withData(data).
stream(in -> { stream(in -> {
IntStream out = f.apply(in); IntStream out = f.apply(in);
return StreamSupport.intStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.intStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), false);
}). }).
exercise(); exercise();
withData(data). withData(data).
stream((in) -> { stream((in) -> {
IntStream out = f.apply(in); IntStream out = f.apply(in);
return StreamSupport.intParallelStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.intStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), true);
}). }).
exercise(); exercise();
} }
...@@ -455,7 +455,7 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -455,7 +455,7 @@ public class StreamSpliteratorTest extends OpTestCase {
// @@@ Need way to obtain the target size // @@@ Need way to obtain the target size
Spliterator.OfLong sp = intermediateOp.apply(LongStream.range(0, 1000)).spliterator(); Spliterator.OfLong sp = intermediateOp.apply(LongStream.range(0, 1000)).spliterator();
ProxyNoExactSizeSpliterator.OfLong psp = new ProxyNoExactSizeSpliterator.OfLong(sp, proxyEstimateSize); ProxyNoExactSizeSpliterator.OfLong psp = new ProxyNoExactSizeSpliterator.OfLong(sp, proxyEstimateSize);
LongStream s = StreamSupport.longParallelStream(psp); LongStream s = StreamSupport.longStream(psp, true);
terminalOp.accept(s); terminalOp.accept(s);
Assert.assertTrue(psp.splits > 0, Assert.assertTrue(psp.splits > 0,
String.format("Number of splits should be greater that zero when proxyEstimateSize is %s", String.format("Number of splits should be greater that zero when proxyEstimateSize is %s",
...@@ -479,14 +479,14 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -479,14 +479,14 @@ public class StreamSpliteratorTest extends OpTestCase {
withData(data). withData(data).
stream(in -> { stream(in -> {
LongStream out = f.apply(in); LongStream out = f.apply(in);
return StreamSupport.longStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.longStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), false);
}). }).
exercise(); exercise();
withData(data). withData(data).
stream((in) -> { stream((in) -> {
LongStream out = f.apply(in); LongStream out = f.apply(in);
return StreamSupport.longParallelStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.longStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), true);
}). }).
exercise(); exercise();
} }
...@@ -548,7 +548,7 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -548,7 +548,7 @@ public class StreamSpliteratorTest extends OpTestCase {
// @@@ Need way to obtain the target size // @@@ Need way to obtain the target size
Spliterator.OfDouble sp = intermediateOp.apply(IntStream.range(0, 1000).asDoubleStream()).spliterator(); Spliterator.OfDouble sp = intermediateOp.apply(IntStream.range(0, 1000).asDoubleStream()).spliterator();
ProxyNoExactSizeSpliterator.OfDouble psp = new ProxyNoExactSizeSpliterator.OfDouble(sp, proxyEstimateSize); ProxyNoExactSizeSpliterator.OfDouble psp = new ProxyNoExactSizeSpliterator.OfDouble(sp, proxyEstimateSize);
DoubleStream s = StreamSupport.doubleParallelStream(psp); DoubleStream s = StreamSupport.doubleStream(psp, true);
terminalOp.accept(s); terminalOp.accept(s);
Assert.assertTrue(psp.splits > 0, Assert.assertTrue(psp.splits > 0,
String.format("Number of splits should be greater that zero when proxyEstimateSize is %s", String.format("Number of splits should be greater that zero when proxyEstimateSize is %s",
...@@ -572,14 +572,14 @@ public class StreamSpliteratorTest extends OpTestCase { ...@@ -572,14 +572,14 @@ public class StreamSpliteratorTest extends OpTestCase {
withData(data). withData(data).
stream(in -> { stream(in -> {
DoubleStream out = f.apply(in); DoubleStream out = f.apply(in);
return StreamSupport.doubleStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.doubleStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), false);
}). }).
exercise(); exercise();
withData(data). withData(data).
stream((in) -> { stream((in) -> {
DoubleStream out = f.apply(in); DoubleStream out = f.apply(in);
return StreamSupport.doubleParallelStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out)); return StreamSupport.doubleStream(() -> out.spliterator(), OpTestCase.getStreamFlags(out), true);
}). }).
exercise(); exercise();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册