From 27fcf37206591c774d79ec60de8d404ed83378ac Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Tue, 2 Jun 2015 18:10:13 +1000 Subject: Fix up some static analysis warnings and improve @DataPoint detection --- src/main/java/au/id/zancanaro/javacheck/RoseTree.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/main/java/au/id/zancanaro/javacheck/RoseTree.java') diff --git a/src/main/java/au/id/zancanaro/javacheck/RoseTree.java b/src/main/java/au/id/zancanaro/javacheck/RoseTree.java index 5a54d6f..c735b46 100644 --- a/src/main/java/au/id/zancanaro/javacheck/RoseTree.java +++ b/src/main/java/au/id/zancanaro/javacheck/RoseTree.java @@ -6,6 +6,7 @@ import java.util.*; import java.util.function.Function; import java.util.function.Predicate; +@SuppressWarnings("unused") public class RoseTree { private final T value; private final Iterable> children; @@ -49,14 +50,17 @@ public class RoseTree { )); } - public static RoseTree zip(Function, R> fn, RoseTree[] trees) { - @SuppressWarnings("unchecked") - List heads = new ArrayList(trees.length); + private static List makeHeadList(RoseTree[] trees) { + List heads = new ArrayList<>(trees.length); for (RoseTree tree : trees) { heads.add(tree.getValue()); } + return heads; + } + + public static RoseTree zip(Function, R> fn, RoseTree[] trees) { return new RoseTree<>( - fn.apply(heads), + fn.apply(makeHeadList(trees)), () -> Iterators.mappingIterator( roses -> RoseTree.zip(fn, roses), RoseTree.permutations(trees))); @@ -76,13 +80,8 @@ public class RoseTree { } public static RoseTree shrink(Function, R> fn, RoseTree[] trees) { - @SuppressWarnings("unchecked") - List heads = new ArrayList(trees.length); - for (RoseTree tree : trees) { - heads.add(tree.getValue()); - } return new RoseTree<>( - fn.apply(heads), + fn.apply(makeHeadList(trees)), () -> Iterators.mappingIterator( roses -> RoseTree.shrink(fn, roses), RoseTree.removeEach(trees))); -- cgit v1.2.3