diff options
author | 2017-06-30 00:32:04 +0200 | |
---|---|---|
committer | 2017-06-30 13:00:58 +0200 | |
commit | 3d2a68c6da2a50a9e1bcf6615e83a43701cdf95d (patch) | |
tree | 31692a985d316e33733ab6993e529b8a08c206b6 /src/main/java/com/google/devtools/build/lib/graph | |
parent | 2d5eeab381713f99c8c8b7b80f3d447be847b548 (diff) |
Automated conversion to Java 8
With a few manual fixes for readability.
RELNOTES: None.
PiperOrigin-RevId: 160582556
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/graph')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/graph/DFS.java | 10 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/graph/Digraph.java | 29 |
2 files changed, 12 insertions, 27 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/graph/DFS.java b/src/main/java/com/google/devtools/build/lib/graph/DFS.java index 5682baa4d9..9cf947e0dc 100644 --- a/src/main/java/com/google/devtools/build/lib/graph/DFS.java +++ b/src/main/java/com/google/devtools/build/lib/graph/DFS.java @@ -14,8 +14,9 @@ package com.google.devtools.build.lib.graph; -import com.google.common.collect.Ordering; +import static java.util.Comparator.comparing; +import com.google.common.collect.Ordering; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -70,12 +71,7 @@ public class DFS<T> { if (edgeOrder == null) { this.edgeOrder = null; } else { - this.edgeOrder = new Comparator<Node<T>>() { - @Override - public int compare(Node<T> o1, Node<T> o2) { - return edgeOrder.compare(o1.getLabel(), o2.getLabel()); - } - }; + this.edgeOrder = comparing(Node::getLabel, edgeOrder::compare); } } diff --git a/src/main/java/com/google/devtools/build/lib/graph/Digraph.java b/src/main/java/com/google/devtools/build/lib/graph/Digraph.java index c2e7d0d378..b6d913f2b1 100644 --- a/src/main/java/com/google/devtools/build/lib/graph/Digraph.java +++ b/src/main/java/com/google/devtools/build/lib/graph/Digraph.java @@ -14,10 +14,12 @@ package com.google.devtools.build.lib.graph; +import static java.util.Comparator.comparing; +import static java.util.Comparator.comparingLong; + import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import com.google.common.collect.Ordering; - import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -29,7 +31,6 @@ import java.util.List; import java.util.Map; import java.util.PriorityQueue; import java.util.Set; - import javax.annotation.Nullable; /** @@ -384,10 +385,7 @@ public final class Digraph<T> implements Cloneable { if (label == null) { throw new NullPointerException(); } - Node<T> n = nodes.get(label); - if (n == null) { - nodes.put(label, n = new Node<T>(label, nextHashCode++)); - } + Node<T> n = nodes.computeIfAbsent(label, k -> new Node<T>(k, nextHashCode++)); return n; } @@ -827,14 +825,10 @@ public final class Digraph<T> implements Cloneable { // number of paths of high-order nodes making the time consumption explode. // For perfect results we should reorder the set each time we add a new edge but this would // be too expensive, so this is a good enough approximation. - final PriorityQueue<Node<T>> reachables = new PriorityQueue<>(toRemove.size(), - new Comparator<Node<T>>() { - @Override - public int compare(Node<T> o1, Node<T> o2) { - return Long.compare((long) o1.numPredecessors() * (long) o1.numSuccessors(), - (long) o2.numPredecessors() * (long) o2.numSuccessors()); - } - }); + final PriorityQueue<Node<T>> reachables = + new PriorityQueue<>( + toRemove.size(), + comparingLong(arg -> (long) arg.numPredecessors() * (long) arg.numSuccessors())); // Construct the reachables queue with the list of successors and predecessors of keep in // toRemove. @@ -1041,12 +1035,7 @@ public final class Digraph<T> implements Cloneable { private static <T> Comparator<Node<T>> makeNodeComparator( final Comparator<? super T> comparator) { - return new Comparator<Node<T>>() { - @Override - public int compare(Node<T> o1, Node<T> o2) { - return comparator.compare(o1.getLabel(), o2.getLabel()); - } - }; + return comparing(Node::getLabel, comparator::compare); } /** |