diff options
author | janakr <janakr@google.com> | 2018-06-08 12:51:58 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-08 12:53:15 -0700 |
commit | 45b308a62f42c2c0bcfe79dcd4046c4025a31059 (patch) | |
tree | 176fc0a10fa37906864e952d833966298ccab727 /src/main/java/com/google/devtools/build/skyframe | |
parent | c44a87b0736c671e07e62f8b09c8e61775543ded (diff) |
Make Artifact#equals take the owner into account for derived artifacts.
Derived artifacts' owners are important because they are used to determine the artifact's generating action. Source artifacts' owners are not used in this way, so I left them alone.
This allows us to get rid of most uses of ArtifactSkyKey. We may be able to delete it entirely in a follow-up.
PiperOrigin-RevId: 199836436
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe')
3 files changed, 5 insertions, 3 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 e7bda39cbf..712dc4773a 100644 --- a/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java +++ b/src/main/java/com/google/devtools/build/skyframe/AbstractSkyFunctionEnvironment.java @@ -131,7 +131,8 @@ public abstract class AbstractSkyFunctionEnvironment implements SkyFunction.Envi } @Override - public Map<SkyKey, SkyValue> getValues(Iterable<SkyKey> depKeys) throws InterruptedException { + public Map<SkyKey, SkyValue> getValues(Iterable<? extends SkyKey> depKeys) + throws InterruptedException { Map<SkyKey, ValueOrUntypedException> valuesOrExceptions = getValueOrUntypedExceptions(depKeys); checkValuesAreMissing5(valuesOrExceptions, null, null, null, null, null); return Collections.unmodifiableMap( diff --git a/src/main/java/com/google/devtools/build/skyframe/RecordingSkyFunctionEnvironment.java b/src/main/java/com/google/devtools/build/skyframe/RecordingSkyFunctionEnvironment.java index 115fea1a7f..5dc85c0c57 100644 --- a/src/main/java/com/google/devtools/build/skyframe/RecordingSkyFunctionEnvironment.java +++ b/src/main/java/com/google/devtools/build/skyframe/RecordingSkyFunctionEnvironment.java @@ -160,7 +160,8 @@ public class RecordingSkyFunctionEnvironment implements Environment { } @Override - public Map<SkyKey, SkyValue> getValues(Iterable<SkyKey> depKeys) throws InterruptedException { + public Map<SkyKey, SkyValue> getValues(Iterable<? extends SkyKey> depKeys) + throws InterruptedException { recordDeps(depKeys); return delegate.getValues(depKeys); } 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 1ae29160b8..42019886ec 100644 --- a/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java +++ b/src/main/java/com/google/devtools/build/skyframe/SkyFunction.java @@ -205,7 +205,7 @@ public interface SkyFunction { * is {@code true}, and, {@code m.get(k) != null} iff the dependency was already evaluated and * was not in error. */ - Map<SkyKey, SkyValue> getValues(Iterable<SkyKey> depKeys) throws InterruptedException; + Map<SkyKey, SkyValue> getValues(Iterable<? extends SkyKey> depKeys) throws InterruptedException; /** * Similar to {@link #getValues} but allows the caller to specify a set of types that are proper |