diff options
author | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-09 23:58:41 +1000 |
---|---|---|
committer | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-09 23:58:41 +1000 |
commit | 6546881559e4bbcfe2b220199a9f3cd4196d1960 (patch) | |
tree | 16244beed46eff76b65d1e5304cae4591b7db7ee /src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java | |
parent | 40961d4950c40643d5d71721a7e024e3951323ce (diff) |
A few changes, as suggested by static analysis
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java')
-rw-r--r-- | src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java index 4f4eb62..6e21f27 100644 --- a/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java +++ b/src/main/java/au/id/zancanaro/javacheck/ShrinkTree.java @@ -52,7 +52,7 @@ public class ShrinkTree<T> { return heads; } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "SuspiciousUninitializedArray"}) public static <T> Stream<ShrinkTree<T>[]> promoteChildren(ShrinkTree<? super T>[] trees) { return IntStream.range(0, trees.length) .mapToObj(index -> trees[index].getChildren().map(child -> @@ -65,10 +65,11 @@ public class ShrinkTree<T> { public static <T> Stream<ShrinkTree<T>[]> removeChildren(ShrinkTree<? super T>[] trees) { return IntStream.range(0, trees.length) - .mapToObj(index -> IntStream.range(0, trees.length) - .filter(i -> i != index) - .mapToObj(i -> trees[i]) - .toArray(ShrinkTree[]::new)); + .mapToObj(index -> + IntStream.range(0, trees.length) + .filter(i -> i != index) + .mapToObj(i -> trees[i]) + .toArray(ShrinkTree[]::new)); } public static <T> Stream<ShrinkTree<T>[]> removeAndPromoteChildren(ShrinkTree<? super T>[] trees) { @@ -90,14 +91,15 @@ public class ShrinkTree<T> { () -> this.getChildren().map(tree -> tree.map(f))); } - public <R> ShrinkTree<R> flatMap(Function<?super T, ? extends ShrinkTree<R>> f) { + public <R> ShrinkTree<R> flatMap(Function<? super T, ? extends ShrinkTree<R>> f) { return ShrinkTree.join(this.map(f)); } public ShrinkTree<T> filter(Predicate<? super T> predicate) { - if (predicate.test(this.getValue())) { + T value = this.getValue(); + if (predicate.test(value)) { return new ShrinkTree<>( - this.getValue(), + value, () -> this.getChildren() .filter(tree -> predicate.test(tree.getValue())) .map(tree -> tree.filter(predicate))); @@ -112,7 +114,7 @@ public class ShrinkTree<T> { private static <T> Stream<ShrinkTree<T>> strategyStream(final T value, final ShrinkStrategy<T> strategy) { return strategy.shrink(value) - .map(v -> new ShrinkTree<T>(v, () -> strategyStream(v, strategy))); + .map(v -> new ShrinkTree<>(v, () -> strategyStream(v, strategy))); } public void print(Writer output) throws IOException { |