summaryrefslogtreecommitdiff
path: root/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java')
-rw-r--r--src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java
index ddef800..9c51a7e 100644
--- a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java
+++ b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java
@@ -56,20 +56,22 @@ public class ShrinkTree<T> {
public static <T> Stream<ShrinkTree<T>[]> promoteChildren(ShrinkTree<? super T>[] trees) {
return IntStream.range(0, trees.length)
.mapToObj(index -> trees[index].getChildren().map(child ->
- (ShrinkTree<T>[]) IntStream.range(0, trees.length)
+ IntStream.range(0, trees.length)
.mapToObj(i -> (i == index ? child : trees[i]))
- .toArray(ShrinkTree[]::new)))
- .flatMap(x -> x);
+ .toArray(ShrinkTree<?>[]::new)))
+ .flatMap(x -> x)
+ .map(x -> (ShrinkTree<T>[]) x);
}
@SuppressWarnings("unchecked")
public static <T> Stream<ShrinkTree<T>[]> removeChildren(ShrinkTree<? super T>[] trees) {
return IntStream.range(0, trees.length)
.mapToObj(index ->
- (ShrinkTree<T>[]) IntStream.range(0, trees.length)
+ IntStream.range(0, trees.length)
.filter(i -> i != index)
.mapToObj(i -> trees[i])
- .toArray(ShrinkTree[]::new));
+ .toArray(ShrinkTree<?>[]::new))
+ .map(x -> (ShrinkTree<T>[]) x);
}
public static <T> Stream<ShrinkTree<T>[]> removeAndPromoteChildren(ShrinkTree<? super T>[] trees) {