aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/graph
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2017-06-30 00:32:04 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-06-30 13:00:58 +0200
commit3d2a68c6da2a50a9e1bcf6615e83a43701cdf95d (patch)
tree31692a985d316e33733ab6993e529b8a08c206b6 /src/main/java/com/google/devtools/build/lib/graph
parent2d5eeab381713f99c8c8b7b80f3d447be847b548 (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.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/graph/Digraph.java29
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);
}
/**