aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Janak Ramakrishnan <janakr@google.com>2015-08-20 19:55:28 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2015-08-21 09:43:28 +0000
commit62ae0ccbf4102b48431ead59bb973f25dbc3a825 (patch)
tree491604aa55465756cdb3870abd72d4d3ffd0f41d /src/main/java
parent4752dbb9a1b808b8989622ed1eb2c2d5b24779f4 (diff)
Fix some nits and allow alternate evaluators to use MemoizingEvaluatorTest.
-- MOS_MIGRATED_REVID=101150250
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/BuildDriver.java9
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java4
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java3
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java14
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);
+ }
}