diff options
author | vlivanov <none@none> | 2014-09-10 18:29:06 +0400 |
---|---|---|
committer | vlivanov <none@none> | 2014-09-10 18:29:06 +0400 |
commit | c5b25f50989678832dbe2b82997f606b85b1285b (patch) | |
tree | 50768a9b379461b201d26c02468ddad3d55e8eee /src/share/classes/java/util/stream | |
parent | 29e4c56a5e9f831370a716c9039600b5ca79a261 (diff) | |
download | jdk8u_jdk-c5b25f50989678832dbe2b82997f606b85b1285b.tar.gz |
8030079: Lint warnings in java.lang.invoke
8031373: Lint warnings in java.util.stream
Reviewed-by: psandoz, forax
Diffstat (limited to 'src/share/classes/java/util/stream')
6 files changed, 28 insertions, 8 deletions
diff --git a/src/share/classes/java/util/stream/ForEachOps.java b/src/share/classes/java/util/stream/ForEachOps.java index 9232093381..b527f054f4 100644 --- a/src/share/classes/java/util/stream/ForEachOps.java +++ b/src/share/classes/java/util/stream/ForEachOps.java @@ -32,6 +32,7 @@ import java.util.concurrent.ForkJoinTask; import java.util.function.Consumer; import java.util.function.DoubleConsumer; import java.util.function.IntConsumer; +import java.util.function.IntFunction; import java.util.function.LongConsumer; /** @@ -471,9 +472,11 @@ final class ForEachOps { if (task.getPendingCount() > 0) { // Cannot complete just yet so buffer elements into a Node // for use when completion occurs + @SuppressWarnings("unchecked") + IntFunction<T[]> generator = size -> (T[]) new Object[size]; Node.Builder<T> nb = task.helper.makeNodeBuilder( task.helper.exactOutputSizeIfKnown(rightSplit), - size -> (T[]) new Object[size]); + generator); task.node = task.helper.wrapAndCopyInto(nb, rightSplit).build(); task.spliterator = null; } diff --git a/src/share/classes/java/util/stream/Nodes.java b/src/share/classes/java/util/stream/Nodes.java index d69b9f61b1..c18540c4e6 100644 --- a/src/share/classes/java/util/stream/Nodes.java +++ b/src/share/classes/java/util/stream/Nodes.java @@ -63,7 +63,7 @@ final class Nodes { // IllegalArgumentException messages static final String BAD_SIZE = "Stream size exceeds max array size"; - @SuppressWarnings("raw") + @SuppressWarnings("rawtypes") private static final Node EMPTY_NODE = new EmptyNode.OfRef(); private static final Node.OfInt EMPTY_INT_NODE = new EmptyNode.OfInt(); private static final Node.OfLong EMPTY_LONG_NODE = new EmptyNode.OfLong(); @@ -956,6 +956,7 @@ final class Nodes { * Initiate a stack containing, in left-to-right order, the child nodes * covered by this spliterator */ + @SuppressWarnings("unchecked") protected final Deque<N> initStack() { // Bias size to the case where leaf nodes are close to this node // 8 is the minimum initial capacity for the ArrayDeque implementation @@ -969,6 +970,7 @@ final class Nodes { * Depth first search, in left-to-right order, of the node tree, using * an explicit stack, to find the next non-empty leaf node. */ + @SuppressWarnings("unchecked") protected final N findNextLeafNode(Deque<N> stack) { N n = null; while ((n = stack.pollFirst()) != null) { @@ -984,6 +986,7 @@ final class Nodes { return null; } + @SuppressWarnings("unchecked") protected final boolean initTryAdvance() { if (curNode == null) return false; @@ -1870,6 +1873,7 @@ final class Nodes { } assert task.offset + task.length < MAX_ARRAY_SIZE; + @SuppressWarnings("unchecked") T_SINK sink = (T_SINK) task; task.helper.wrapAndCopyInto(sink, rightSplit); task.propagateCompletion(); @@ -2173,6 +2177,7 @@ final class Nodes { } @Override + @SuppressWarnings("unchecked") protected T_NODE doLeaf() { T_BUILDER builder = builderFactory.apply(helper.exactOutputSizeIfKnown(spliterator)); return (T_NODE) helper.wrapAndCopyInto(builder, spliterator).build(); diff --git a/src/share/classes/java/util/stream/SortedOps.java b/src/share/classes/java/util/stream/SortedOps.java index 810de1ca20..592b609cad 100644 --- a/src/share/classes/java/util/stream/SortedOps.java +++ b/src/share/classes/java/util/stream/SortedOps.java @@ -29,7 +29,6 @@ import java.util.Arrays; import java.util.Comparator; import java.util.Objects; import java.util.Spliterator; -import java.util.concurrent.ForkJoinTask; import java.util.function.IntFunction; @@ -113,7 +112,9 @@ final class SortedOps { StreamOpFlag.IS_ORDERED | StreamOpFlag.IS_SORTED); this.isNaturalSort = true; // Will throw CCE when we try to sort if T is not Comparable - this.comparator = (Comparator<? super T>) Comparator.naturalOrder(); + @SuppressWarnings("unchecked") + Comparator<? super T> comp = (Comparator<? super T>) Comparator.naturalOrder(); + this.comparator = comp; } /** @@ -170,7 +171,7 @@ final class SortedOps { } @Override - public Sink<Integer> opWrapSink(int flags, Sink sink) { + public Sink<Integer> opWrapSink(int flags, Sink<Integer> sink) { Objects.requireNonNull(sink); if (StreamOpFlag.SORTED.isKnown(flags)) @@ -335,6 +336,7 @@ final class SortedOps { } @Override + @SuppressWarnings("unchecked") public void begin(long size) { if (size >= Nodes.MAX_ARRAY_SIZE) throw new IllegalArgumentException(Nodes.BAD_SIZE); diff --git a/src/share/classes/java/util/stream/SpinedBuffer.java b/src/share/classes/java/util/stream/SpinedBuffer.java index 878b2c2899..163692cf85 100644 --- a/src/share/classes/java/util/stream/SpinedBuffer.java +++ b/src/share/classes/java/util/stream/SpinedBuffer.java @@ -92,6 +92,7 @@ class SpinedBuffer<E> * @throws IllegalArgumentException if the specified initial capacity * is negative */ + @SuppressWarnings("unchecked") SpinedBuffer(int initialCapacity) { super(initialCapacity); curChunk = (E[]) new Object[1 << initialChunkPower]; @@ -100,6 +101,7 @@ class SpinedBuffer<E> /** * Constructs an empty list with an initial capacity of sixteen. */ + @SuppressWarnings("unchecked") SpinedBuffer() { super(); curChunk = (E[]) new Object[1 << initialChunkPower]; @@ -114,6 +116,7 @@ class SpinedBuffer<E> : priorElementCount[spineIndex] + spine[spineIndex].length; } + @SuppressWarnings("unchecked") private void inflateSpine() { if (spine == null) { spine = (E[][]) new Object[MIN_SPINE_SIZE][]; @@ -125,6 +128,7 @@ class SpinedBuffer<E> /** * Ensure that the buffer has at least capacity to hold the target size */ + @SuppressWarnings("unchecked") protected final void ensureCapacity(long targetSize) { long capacity = capacity(); if (targetSize > capacity) { diff --git a/src/share/classes/java/util/stream/StreamSpliterators.java b/src/share/classes/java/util/stream/StreamSpliterators.java index 7322773fe8..67683425bf 100644 --- a/src/share/classes/java/util/stream/StreamSpliterators.java +++ b/src/share/classes/java/util/stream/StreamSpliterators.java @@ -516,6 +516,7 @@ class StreamSpliterators { } @Override + @SuppressWarnings("unchecked") public T_SPLITR trySplit() { return (T_SPLITR) get().trySplit(); } @@ -643,6 +644,7 @@ class StreamSpliterators { // existing and additionally created F/J tasks that perform // redundant work on no elements. while (true) { + @SuppressWarnings("unchecked") T_SPLITR leftSplit = (T_SPLITR) s.trySplit(); if (leftSplit == null) return null; @@ -970,6 +972,7 @@ class StreamSpliterators { // Stop splitting when there are no more limit permits if (permits.get() == 0) return null; + @SuppressWarnings("unchecked") T_SPLITR split = (T_SPLITR) s.trySplit(); return split == null ? null : makeSpliterator(split); } @@ -1068,16 +1071,18 @@ class StreamSpliterators { super(s, skip, limit); } - OfPrimitive(T_SPLITR s, UnorderedSliceSpliterator.OfPrimitive parent) { + OfPrimitive(T_SPLITR s, UnorderedSliceSpliterator.OfPrimitive<T, T_CONS, T_BUFF, T_SPLITR> parent) { super(s, parent); } @Override public boolean tryAdvance(T_CONS action) { Objects.requireNonNull(action); + @SuppressWarnings("unchecked") + T_CONS consumer = (T_CONS) this; while (permitStatus() != PermitStatus.NO_MORE) { - if (!s.tryAdvance((T_CONS) this)) + if (!s.tryAdvance(consumer)) return false; else if (acquirePermits(1) == 1) { acceptConsumed(action); @@ -1316,7 +1321,7 @@ class StreamSpliterators { * estimate size is 0. * * <p>The {@code forEachRemaining} method if invoked will never terminate. - * The {@coe tryAdvance} method always returns true. + * The {@code tryAdvance} method always returns true. * */ static abstract class InfiniteSupplyingSpliterator<T> implements Spliterator<T> { diff --git a/src/share/classes/java/util/stream/Streams.java b/src/share/classes/java/util/stream/Streams.java index 41f3adad59..072691aecc 100644 --- a/src/share/classes/java/util/stream/Streams.java +++ b/src/share/classes/java/util/stream/Streams.java @@ -715,6 +715,7 @@ final class Streams { @Override public T_SPLITR trySplit() { + @SuppressWarnings("unchecked") T_SPLITR ret = beforeSplit ? aSpliterator : (T_SPLITR) bSpliterator.trySplit(); beforeSplit = false; return ret; |