Implement unbounded deps() using ParallelVisitor for SkyQuery.
PiperOrigin-RevId: 198074986
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 516d2e6..1fe3bbf 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
@@ -170,6 +170,22 @@
visitor.visitAndWaitForCompletion(env.getFileStateKeysForFileFragments(fileIdentifiers));
}
+ static QueryTaskFuture<Void> getDepsUnboundedParallel(
+ SkyQueryEnvironment env,
+ QueryExpression expression,
+ VariableContext<Target> context,
+ Callback<Target> callback,
+ MultisetSemaphore<PackageIdentifier> packageSemaphore,
+ boolean depsNeedFiltering,
+ Callback<Target> errorReporter) {
+ return env.eval(
+ expression,
+ context,
+ ParallelVisitor.createParallelVisitorCallback(
+ new DepsUnboundedVisitor.Factory(
+ env, callback, packageSemaphore, depsNeedFiltering, errorReporter)));
+ }
+
static class DepAndRdep {
@Nullable final SkyKey dep;
final SkyKey rdep;