diff options
author | Janak Ramakrishnan <janakr@google.com> | 2015-08-20 19:55:28 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2015-08-21 09:43:28 +0000 |
commit | 62ae0ccbf4102b48431ead59bb973f25dbc3a825 (patch) | |
tree | 491604aa55465756cdb3870abd72d4d3ffd0f41d /src/main/java | |
parent | 4752dbb9a1b808b8989622ed1eb2c2d5b24779f4 (diff) |
Fix some nits and allow alternate evaluators to use MemoizingEvaluatorTest.
--
MOS_MIGRATED_REVID=101150250
Diffstat (limited to 'src/main/java')
4 files changed, 26 insertions, 4 deletions
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 16c2d9dd26..1b9224acdf 100644 --- a/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java +++ b/src/main/java/com/google/devtools/build/skyframe/BuildDriver.java @@ -16,6 +16,8 @@ package com.google.devtools.build.skyframe; import com.google.devtools.build.lib.events.EventHandler; +import javax.annotation.Nullable; + /** * A BuildDriver wraps a MemoizingEvaluator, passing along the proper Version. */ @@ -35,4 +37,11 @@ public interface BuildDriver { String meta(Iterable<SkyKey> roots); MemoizingEvaluator getGraphForTesting(); + + @Nullable + SkyValue getExistingValueForTesting(SkyKey key); + + @Nullable + ErrorInfo getExistingErrorForTesting(SkyKey key); + } diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java index 4acf4285ea..4c19c8f55b 100644 --- a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java +++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java @@ -419,8 +419,8 @@ public class InMemoryNodeEntry implements NodeEntry { * <p>Clones a InMemoryMutableNodeEntry iff it is a done node. Otherwise it fails. */ public synchronized InMemoryNodeEntry cloneNodeEntry() { - // As this is temporary, for now lets limit to done nodes - Preconditions.checkState(isDone(), "Only done nodes can be copied"); + // As this is temporary, for now let's limit to done nodes. + Preconditions.checkState(isDone(), "Only done nodes can be copied: %s", this); InMemoryNodeEntry nodeEntry = new InMemoryNodeEntry(); nodeEntry.value = value; nodeEntry.version = this.version; 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 f56dc56331..ac27ee0446 100644 --- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java +++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java @@ -615,8 +615,7 @@ public final class ParallelEvaluator implements Evaluator { @Override public void run() { - NodeEntry state = graph.get(skyKey); - Preconditions.checkNotNull(state, "%s %s", skyKey, state); + NodeEntry state = Preconditions.checkNotNull(graph.get(skyKey), skyKey); Preconditions.checkState(state.isReady(), "%s %s", skyKey, state); if (state.isDirty()) { 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 5eee3a38a4..43250f3403 100644 --- a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java +++ b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java @@ -16,6 +16,8 @@ package com.google.devtools.build.skyframe; import com.google.common.base.Preconditions; import com.google.devtools.build.lib.events.EventHandler; +import javax.annotation.Nullable; + /** * A driver for auto-updating graphs which operate over monotonically increasing integer versions. */ @@ -48,4 +50,16 @@ public class SequentialBuildDriver implements BuildDriver { public MemoizingEvaluator getGraphForTesting() { return memoizingEvaluator; } + + @Nullable + @Override + public SkyValue getExistingValueForTesting(SkyKey key) { + return memoizingEvaluator.getExistingValueForTesting(key); + } + + @Nullable + @Override + public ErrorInfo getExistingErrorForTesting(SkyKey key) { + return memoizingEvaluator.getExistingErrorForTesting(key); + } } |