aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-07-18 18:12:09 +0200
committerGravatar Klaus Aehlig <aehlig@google.com>2017-07-19 10:20:40 +0200
commitbe83f13d14fe090b111ced12c835b4c092184ac9 (patch)
tree3eba07d8aa913aab9d49e7ee4d74bbdbde462326
parent96b4081b29c639c24660411cc2d326afb826d9a7 (diff)
Now that SkyKey is an interface, accept Iterable<? extends SkyKey>
A subsequent CL makes TargetPatternKey implement SkyKey, and it's much nicer if I can pass lists of TargetPatternKey to the various Skyframe APIs. PiperOrigin-RevId: 162359843
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java22
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/BuildDriver.java5
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/Evaluator.java6
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/InMemoryGraph.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/InMemoryGraphImpl.java3
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java3
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java2
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java5
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SkyFunction.java19
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SkyFunctionEnvironment.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java8
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/DeterministicInMemoryGraph.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/NotifyingHelper.java2
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java2
18 files changed, 51 insertions, 46 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java b/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java
index 7ddd11b1af..7c5deabdd8 100644
--- a/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java
+++ b/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java
@@ -105,7 +105,7 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
E4 extends Exception,
E5 extends Exception>
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> getValueOrExceptions(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
final Class<E1> exceptionClass1,
final Class<E2> exceptionClass2,
final Class<E3> exceptionClass3,
@@ -169,7 +169,7 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
/** Implementations should set {@link #valuesMissing} as necessary. */
protected abstract Map<SkyKey, ValueOrUntypedException> getValueOrUntypedExceptions(
- Iterable<SkyKey> depKeys) throws InterruptedException;
+ Iterable<? extends SkyKey> depKeys) throws InterruptedException;
@Override
@Nullable
@@ -257,7 +257,7 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
@Override
public <E extends Exception> Map<SkyKey, ValueOrException<E>> getValuesOrThrow(
- Iterable<SkyKey> depKeys, Class<E> exceptionClass) throws InterruptedException {
+ Iterable<? extends SkyKey> depKeys, Class<E> exceptionClass) throws InterruptedException {
return Maps.transformValues(
getValuesOrThrow(depKeys, exceptionClass, BottomException.class),
makeSafeDowncastToVOEFunction(exceptionClass));
@@ -266,8 +266,8 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
@Override
public <E1 extends Exception, E2 extends Exception>
Map<SkyKey, ValueOrException2<E1, E2>> getValuesOrThrow(
- Iterable<SkyKey> depKeys, Class<E1> exceptionClass1, Class<E2> exceptionClass2)
- throws InterruptedException {
+ Iterable<? extends SkyKey> depKeys, Class<E1> exceptionClass1, Class<E2> exceptionClass2)
+ throws InterruptedException {
return Maps.transformValues(
getValuesOrThrow(depKeys, exceptionClass1, exceptionClass2, BottomException.class),
makeSafeDowncastToVOE2Function(exceptionClass1, exceptionClass2));
@@ -276,11 +276,11 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
@Override
public <E1 extends Exception, E2 extends Exception, E3 extends Exception>
Map<SkyKey, ValueOrException3<E1, E2, E3>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3)
- throws InterruptedException {
+ throws InterruptedException {
return Maps.transformValues(
getValuesOrThrow(depKeys, exceptionClass1, exceptionClass2, exceptionClass3,
BottomException.class),
@@ -290,12 +290,12 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
@Override
public <E1 extends Exception, E2 extends Exception, E3 extends Exception, E4 extends Exception>
Map<SkyKey, ValueOrException4<E1, E2, E3, E4>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3,
Class<E4> exceptionClass4)
- throws InterruptedException {
+ throws InterruptedException {
return Maps.transformValues(
getValuesOrThrow(depKeys, exceptionClass1, exceptionClass2, exceptionClass3,
exceptionClass4, BottomException.class),
@@ -311,13 +311,13 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi
E4 extends Exception,
E5 extends Exception>
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3,
Class<E4> exceptionClass4,
Class<E5> exceptionClass5)
- throws InterruptedException {
+ throws InterruptedException {
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> result =
getValueOrExceptions(
depKeys,
diff --git a/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java b/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
index ec6ccbf92b..78c24793c6 100644
--- a/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
+++ b/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java
@@ -26,8 +26,9 @@ public interface BuildDriver {
* of a {@link Version} value.
*/
<T extends SkyValue> EvaluationResult<T> evaluate(
- Iterable<SkyKey> roots, boolean keepGoing, int numThreads, ExtendedEventHandler reporter)
- throws InterruptedException;
+ Iterable<? extends SkyKey> roots, boolean keepGoing, int numThreads,
+ ExtendedEventHandler reporter)
+ throws InterruptedException;
/**
* Retrieve metadata about the computation over the given roots. Data returned is specific to the
diff --git a/src/main/java/com/google/devtools/build/skyframe/Evaluator.java b/src/main/java/com/google/devtools/build/skyframe/Evaluator.java
index 56388daa0c..905e0f684e 100644
--- a/src/main/java/com/google/devtools/build/skyframe/Evaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/Evaluator.java
@@ -30,14 +30,14 @@ public interface Evaluator {
* @param keepGoing whether {@link #eval} should continue if building a {link Value} fails.
* Otherwise, we throw an exception on failure.
*/
- Evaluator create(ProcessableGraph graph, long graphVersion, EventHandler reporter,
- boolean keepGoing);
+ Evaluator create(
+ ProcessableGraph graph, long graphVersion, EventHandler reporter, boolean keepGoing);
}
/**
* Evaluates a set of values. Returns an {@link EvaluationResult}. All elements of skyKeys must
* be keys for Values of subtype T.
*/
- <T extends SkyValue> EvaluationResult<T> eval(Iterable<SkyKey> skyKeys)
+ <T extends SkyValue> EvaluationResult<T> eval(Iterable<? extends SkyKey> skyKeys)
throws InterruptedException;
}
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryGraph.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryGraph.java
index 267ae7805b..e8c7d3511a 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InMemoryGraph.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryGraph.java
@@ -28,7 +28,7 @@ public interface InMemoryGraph extends ProcessableGraph {
@Override
Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys);
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys);
/**
* Returns a read-only live view of the nodes in the graph. All node are included. Dirty values
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryGraphImpl.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryGraphImpl.java
index b9ca14095e..05029be98e 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InMemoryGraphImpl.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryGraphImpl.java
@@ -58,7 +58,8 @@ public class InMemoryGraphImpl implements InMemoryGraph {
}
@Override
- public Map<SkyKey, NodeEntry> getBatch(SkyKey requestor, Reason reason, Iterable<SkyKey> keys) {
+ public Map<SkyKey, NodeEntry> getBatch(
+ SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys) {
// Use a HashMap, not an ImmutableMap.Builder, because we have not yet deduplicated these keys
// and ImmutableMap.Builder does not tolerate duplicates. The map will be thrown away shortly.
HashMap<SkyKey, NodeEntry> result = new HashMap<>();
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java
index 504de3a10e..1750263b43 100644
--- a/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java
@@ -137,7 +137,7 @@ public final class InMemoryMemoizingEvaluator implements MemoizingEvaluator {
@Override
public <T extends SkyValue> EvaluationResult<T> evaluate(
- Iterable<SkyKey> roots,
+ Iterable<? extends SkyKey> roots,
Version version,
boolean keepGoing,
int numThreads,
diff --git a/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java
index 568e08f01d..2fe92fa521 100644
--- a/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java
@@ -46,7 +46,7 @@ public interface MemoizingEvaluator {
* missing.
*/
<T extends SkyValue> EvaluationResult<T> evaluate(
- Iterable<SkyKey> roots,
+ Iterable<? extends SkyKey> roots,
Version version,
boolean keepGoing,
int numThreads,
diff --git a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
index aac9277a1d..a47a579ced 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
@@ -690,7 +690,7 @@ public final class ParallelEvaluator implements Evaluator {
@Override
@ThreadCompatible
- public <T extends SkyValue> EvaluationResult<T> eval(Iterable<SkyKey> skyKeys)
+ public <T extends SkyValue> EvaluationResult<T> eval(Iterable<? extends SkyKey> skyKeys)
throws InterruptedException {
ImmutableSet<SkyKey> skyKeySet = ImmutableSet.copyOf(skyKeys);
diff --git a/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java b/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
index 07f8fafb89..26422dd418 100644
--- a/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
+++ b/src/main/java/com/google/devtools/build/skyframe/QueryableGraph.java
@@ -46,7 +46,8 @@ public interface QueryableGraph {
* @param reason the reason the nodes are being requested.
*/
Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys) throws InterruptedException;
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys)
+ throws InterruptedException;
/**
* Examines all the given keys. Returns an iterable of keys whose corresponding nodes are
diff --git a/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java b/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
index 684db935fd..dace26e6d8 100644
--- a/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
+++ b/src/main/java/com/google/devtools/build/skyframe/QueryableGraphBackedSkyFunctionEnvironment.java
@@ -61,7 +61,7 @@ public class QueryableGraphBackedSkyFunctionEnvironment extends AbstractSkyFunct
@Override
protected Map<SkyKey, ValueOrUntypedException> getValueOrUntypedExceptions(
- Iterable<SkyKey> depKeys) throws InterruptedException {
+ Iterable<? extends SkyKey> depKeys) throws InterruptedException {
Map<SkyKey, ? extends NodeEntry> resultMap =
queryableGraph.getBatch(null, Reason.DEP_REQUESTED, depKeys);
// resultMap will be smaller than what we actually return if some of depKeys were not found in
diff --git a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
index 7f4c9fea7a..988412b866 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java
@@ -32,8 +32,9 @@ public class SequentialBuildDriver implements BuildDriver {
@Override
public <T extends SkyValue> EvaluationResult<T> evaluate(
- Iterable<SkyKey> roots, boolean keepGoing, int numThreads, ExtendedEventHandler reporter)
- throws InterruptedException {
+ Iterable<? extends SkyKey> roots, boolean keepGoing, int numThreads,
+ ExtendedEventHandler reporter)
+ throws InterruptedException {
try {
return memoizingEvaluator.evaluate(roots, curVersion, keepGoing, numThreads, reporter);
} finally {
diff --git a/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java b/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java
index ee1d93cc61..66e9408d57 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java
@@ -210,29 +210,30 @@ public interface SkyFunction {
* already evaluated with an error in the specified set of {@link Exception} types.
*/
<E extends Exception> Map<SkyKey, ValueOrException<E>> getValuesOrThrow(
- Iterable<SkyKey> depKeys, Class<E> exceptionClass) throws InterruptedException;
+ Iterable<? extends SkyKey> depKeys, Class<E> exceptionClass) throws InterruptedException;
<E1 extends Exception, E2 extends Exception>
Map<SkyKey, ValueOrException2<E1, E2>> getValuesOrThrow(
- Iterable<SkyKey> depKeys, Class<E1> exceptionClass1, Class<E2> exceptionClass2)
- throws InterruptedException;
+ Iterable<? extends SkyKey> depKeys, Class<E1> exceptionClass1,
+ Class<E2> exceptionClass2)
+ throws InterruptedException;
<E1 extends Exception, E2 extends Exception, E3 extends Exception>
Map<SkyKey, ValueOrException3<E1, E2, E3>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3)
- throws InterruptedException;
+ throws InterruptedException;
<E1 extends Exception, E2 extends Exception, E3 extends Exception, E4 extends Exception>
Map<SkyKey, ValueOrException4<E1, E2, E3, E4>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3,
Class<E4> exceptionClass4)
- throws InterruptedException;
+ throws InterruptedException;
<
E1 extends Exception,
@@ -241,13 +242,13 @@ public interface SkyFunction {
E4 extends Exception,
E5 extends Exception>
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3,
Class<E4> exceptionClass4,
Class<E5> exceptionClass5)
- throws InterruptedException;
+ throws InterruptedException;
/**
* Returns whether there was a previous getValue[s][OrThrow] that indicated a missing
diff --git a/src/main/java/com/google/devtools/build/skyframe/SkyFunctionEnvironment.java b/src/main/java/com/google/devtools/build/skyframe/SkyFunctionEnvironment.java
index fb51fdd789..8735f340af 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SkyFunctionEnvironment.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SkyFunctionEnvironment.java
@@ -270,7 +270,7 @@ class SkyFunctionEnvironment extends AbstractSkyFunctionEnvironment {
this.errorInfo = Preconditions.checkNotNull(errorInfo, skyKey);
}
- private Map<SkyKey, SkyValue> getValuesMaybeFromError(Iterable<SkyKey> keys)
+ private Map<SkyKey, SkyValue> getValuesMaybeFromError(Iterable<? extends SkyKey> keys)
throws InterruptedException {
// Use a HashMap, not an ImmutableMap.Builder, because we have not yet deduplicated these keys
// and ImmutableMap.Builder does not tolerate duplicates. The map will be thrown away
@@ -341,7 +341,7 @@ class SkyFunctionEnvironment extends AbstractSkyFunctionEnvironment {
@Override
protected Map<SkyKey, ValueOrUntypedException> getValueOrUntypedExceptions(
- Iterable<SkyKey> depKeys) throws InterruptedException {
+ Iterable<? extends SkyKey> depKeys) throws InterruptedException {
checkActive();
Map<SkyKey, SkyValue> values = getValuesMaybeFromError(depKeys);
for (Map.Entry<SkyKey, SkyValue> depEntry : values.entrySet()) {
@@ -449,13 +449,13 @@ class SkyFunctionEnvironment extends AbstractSkyFunctionEnvironment {
E4 extends Exception,
E5 extends Exception>
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> getValuesOrThrow(
- Iterable<SkyKey> depKeys,
+ Iterable<? extends SkyKey> depKeys,
Class<E1> exceptionClass1,
Class<E2> exceptionClass2,
Class<E3> exceptionClass3,
Class<E4> exceptionClass4,
Class<E5> exceptionClass5)
- throws InterruptedException {
+ throws InterruptedException {
newlyRequestedDeps.startGroup();
Map<SkyKey, ValueOrException5<E1, E2, E3, E4, E5>> result =
super.getValuesOrThrow(
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
index af9d68f79f..fbab01ae3a 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
@@ -155,7 +155,7 @@ public final class ActionsTestUtil {
@Override
protected Map<SkyKey, ValueOrUntypedException> getValueOrUntypedExceptions(
- Iterable<SkyKey> depKeys) {
+ Iterable<? extends SkyKey> depKeys) {
EvaluationResult<SkyValue> evaluationResult;
Map<SkyKey, ValueOrUntypedException> result = new HashMap<>();
try {
diff --git a/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java b/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
index 7876d57100..c6123769aa 100644
--- a/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
+++ b/src/test/java/com/google/devtools/build/skyframe/DeterministicHelper.java
@@ -90,8 +90,8 @@ public class DeterministicHelper extends NotifyingHelper {
@Override
public Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys)
- throws InterruptedException {
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys)
+ throws InterruptedException {
return makeDeterministic(super.getBatch(requestor, reason, keys));
}
}
@@ -119,8 +119,8 @@ public class DeterministicHelper extends NotifyingHelper {
@Override
public Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys)
- throws InterruptedException {
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys)
+ throws InterruptedException {
return makeDeterministic(super.getBatch(requestor, reason, keys));
}
}
diff --git a/src/test/java/com/google/devtools/build/skyframe/DeterministicInMemoryGraph.java b/src/test/java/com/google/devtools/build/skyframe/DeterministicInMemoryGraph.java
index 786a527013..5314664499 100644
--- a/src/test/java/com/google/devtools/build/skyframe/DeterministicInMemoryGraph.java
+++ b/src/test/java/com/google/devtools/build/skyframe/DeterministicInMemoryGraph.java
@@ -49,7 +49,7 @@ class DeterministicInMemoryGraph extends DeterministicHelper.DeterministicProces
@Override
public Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys) {
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys) {
try {
return super.getBatch(requestor, reason, keys);
} catch (InterruptedException e) {
diff --git a/src/test/java/com/google/devtools/build/skyframe/NotifyingHelper.java b/src/test/java/com/google/devtools/build/skyframe/NotifyingHelper.java
index 0ac49e5382..c24f54e418 100644
--- a/src/test/java/com/google/devtools/build/skyframe/NotifyingHelper.java
+++ b/src/test/java/com/google/devtools/build/skyframe/NotifyingHelper.java
@@ -88,7 +88,7 @@ public class NotifyingHelper {
@Override
public Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys)
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys)
throws InterruptedException {
return Maps.transformEntries(
delegate.getBatch(requestor, reason, keys),
diff --git a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
index f1feac2df3..be268793a7 100644
--- a/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
+++ b/src/test/java/com/google/devtools/build/skyframe/NotifyingInMemoryGraph.java
@@ -45,7 +45,7 @@ class NotifyingInMemoryGraph extends NotifyingHelper.NotifyingProcessableGraph
@Override
public Map<SkyKey, ? extends NodeEntry> getBatch(
- @Nullable SkyKey requestor, Reason reason, Iterable<SkyKey> keys) {
+ @Nullable SkyKey requestor, Reason reason, Iterable<? extends SkyKey> keys) {
try {
return super.getBatch(requestor, reason, keys);
} catch (InterruptedException e) {