aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java52
1 files changed, 22 insertions, 30 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java b/src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java
index 28cdede50e..87f8e7de51 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/ParallelSkyQueryUtils.java
@@ -13,17 +13,17 @@
// limitations under the License.
package com.google.devtools.build.lib.query2;
+import static com.google.common.collect.ImmutableSet.toImmutableSet;
+
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
+import com.google.common.collect.Streams;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.collect.CompactHashSet;
@@ -134,10 +134,9 @@ class ParallelSkyQueryUtils {
Iterable<SkyKey> keysToUseForResult, Callback<Target> callback)
throws QueryException, InterruptedException {
Set<PackageIdentifier> pkgIdsNeededForResult =
- ImmutableSet.copyOf(
- Iterables.transform(
- keysToUseForResult,
- SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER));
+ Streams.stream(keysToUseForResult)
+ .map(SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER)
+ .collect(toImmutableSet());
packageSemaphore.acquireAll(pkgIdsNeededForResult);
try {
callback.process(SkyQueryEnvironment.getBuildFilesForPackageValues(
@@ -222,9 +221,7 @@ class ParallelSkyQueryUtils {
continue;
}
- if (!reverseDepsMap.containsKey(reverseDepPair.first)) {
- reverseDepsMap.put(reverseDepPair.first, new LinkedList<SkyKey>());
- }
+ reverseDepsMap.computeIfAbsent(reverseDepPair.first, k -> new LinkedList<SkyKey>());
reverseDepsMap.get(reverseDepPair.first).add(reverseDepPair.second);
}
@@ -232,10 +229,11 @@ class ParallelSkyQueryUtils {
Multimap<SkyKey, SkyKey> packageKeyToTargetKeyMap =
env.makePackageKeyToTargetKeyMap(Iterables.concat(reverseDepsMap.values()));
Set<PackageIdentifier> pkgIdsNeededForTargetification =
- ImmutableSet.copyOf(
- Iterables.transform(
- packageKeyToTargetKeyMap.keySet(),
- SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER));
+ packageKeyToTargetKeyMap
+ .keySet()
+ .stream()
+ .map(SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER)
+ .collect(toImmutableSet());
packageSemaphore.acquireAll(pkgIdsNeededForTargetification);
try {
@@ -245,8 +243,10 @@ class ParallelSkyQueryUtils {
Collection<Target> filteredTargets =
env.filterRawReverseDepsOfTransitiveTraversalKeys(
reverseDepsMap, packageKeyToTargetKeyMap);
- filteredKeys.addAll(
- Collections2.transform(filteredTargets, SkyQueryEnvironment.TARGET_TO_SKY_KEY));
+ filteredTargets
+ .stream()
+ .map(SkyQueryEnvironment.TARGET_TO_SKY_KEY)
+ .forEachOrdered(filteredKeys::add);
}
} finally {
packageSemaphore.releaseAll(pkgIdsNeededForTargetification);
@@ -276,10 +276,11 @@ class ParallelSkyQueryUtils {
Multimap<SkyKey, SkyKey> packageKeyToTargetKeyMap =
env.makePackageKeyToTargetKeyMap(keysToUseForResult);
Set<PackageIdentifier> pkgIdsNeededForResult =
- ImmutableSet.copyOf(
- Iterables.transform(
- packageKeyToTargetKeyMap.keySet(),
- SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER));
+ packageKeyToTargetKeyMap
+ .keySet()
+ .stream()
+ .map(SkyQueryEnvironment.PACKAGE_SKYKEY_TO_PACKAGE_IDENTIFIER)
+ .collect(toImmutableSet());
packageSemaphore.acquireAll(pkgIdsNeededForResult);
try {
callback.process(
@@ -291,16 +292,7 @@ class ParallelSkyQueryUtils {
@Override
protected Iterable<Pair<SkyKey, SkyKey>> preprocessInitialVisit(Iterable<SkyKey> keys) {
- return Iterables.transform(
- keys,
- new Function<SkyKey, Pair<SkyKey, SkyKey>>() {
- @Override
- public Pair<SkyKey, SkyKey> apply(SkyKey key) {
- // Set parent of first-level nodes to null. They are handled specially in
- // AllRdepsUnboundedVisitor#getVisitResult and will not be filtered later.
- return Pair.of(null, key);
- }
- });
+ return Iterables.transform(keys, key -> Pair.of(null, key));
}
@Override