aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/java/util/stream
diff options
context:
space:
mode:
authorvlivanov <none@none>2014-09-10 18:29:06 +0400
committervlivanov <none@none>2014-09-10 18:29:06 +0400
commitc5b25f50989678832dbe2b82997f606b85b1285b (patch)
tree50768a9b379461b201d26c02468ddad3d55e8eee /src/share/classes/java/util/stream
parent29e4c56a5e9f831370a716c9039600b5ca79a261 (diff)
downloadjdk8u_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')
-rw-r--r--src/share/classes/java/util/stream/ForEachOps.java5
-rw-r--r--src/share/classes/java/util/stream/Nodes.java7
-rw-r--r--src/share/classes/java/util/stream/SortedOps.java8
-rw-r--r--src/share/classes/java/util/stream/SpinedBuffer.java4
-rw-r--r--src/share/classes/java/util/stream/StreamSpliterators.java11
-rw-r--r--src/share/classes/java/util/stream/Streams.java1
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;