diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java b/src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java index 81c0cfcaf0..ebd4d7d106 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java +++ b/src/main/java/com/google/devtools/build/lib/query2/engine/RdepsFunction.java @@ -65,21 +65,18 @@ public final class RdepsFunction extends AllRdepsFunction { QueryTaskFuture<ThreadSafeMutableSet<T>> universeValueFuture = QueryUtil.evalAll(env, context, args.get(0).getExpression()); Function<ThreadSafeMutableSet<T>, QueryTaskFuture<Void>> evalInUniverseAsyncFunction = - new Function<ThreadSafeMutableSet<T>, QueryTaskFuture<Void>>() { - @Override - public QueryTaskFuture<Void> apply(ThreadSafeMutableSet<T> universeValue) { - Predicate<T> universe; - try { - env.buildTransitiveClosure(expression, universeValue, Integer.MAX_VALUE); - universe = Predicates.in(env.getTransitiveClosure(universeValue)); - } catch (InterruptedException e) { - return env.immediateCancelledFuture(); - } catch (QueryException e) { - return env.immediateFailedFuture(e); - } - return RdepsFunction.this.eval( - env, context, args.subList(1, args.size()), callback, Optional.of(universe)); + universeValue -> { + Predicate<T> universe; + try { + env.buildTransitiveClosure(expression, universeValue, Integer.MAX_VALUE); + universe = Predicates.in(env.getTransitiveClosure(universeValue)); + } catch (InterruptedException e) { + return env.immediateCancelledFuture(); + } catch (QueryException e) { + return env.immediateFailedFuture(e); } + return RdepsFunction.this.eval( + env, context, args.subList(1, args.size()), callback, Optional.of(universe)); }; return env.transformAsync(universeValueFuture, evalInUniverseAsyncFunction); } |