Allow SkyValues to be marked not "comparable". Such values are not compared for the purpose of change pruning.
--
MOS_MIGRATED_REVID=108203369
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
index 2d44e9d..2a3fc1b 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
@@ -291,7 +291,7 @@
* Simple value class that stores strings.
*/
public static class StringValue implements SkyValue {
- private final String value;
+ protected final String value;
public StringValue(String value) {
this.value = value;
@@ -329,6 +329,24 @@
}
}
+ /** A StringValue that is also a NotComparableSkyValue. */
+ public static class NotComparableStringValue extends StringValue
+ implements NotComparableSkyValue {
+ public NotComparableStringValue(String value) {
+ super(value);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ throw new UnsupportedOperationException(value + " is incomparable - what are you doing?");
+ }
+
+ @Override
+ public int hashCode() {
+ throw new UnsupportedOperationException(value + " is incomparable - what are you doing?");
+ }
+ }
+
/**
* A callback interface to provide the value computation.
*/