aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
diff options
context:
space:
mode:
authorGravatar Laszlo Csomor <laszlocsomor@google.com>2015-07-29 18:53:12 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-07-30 11:32:34 +0000
commit8d85b9c29d9cd8656ecf2ad27144ba7f1e371d5a (patch)
treeaf5d1ff0f56d40da0bc872e3bab935acc3a3d4a1 /src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
parent3679556ef976b93a860f8618d8170f59dfb6a50c (diff)
FilesetEntryValue now overrides .equals and .hashCode.
This means Skyframe's change pruning can work more efficiently. Without the overridden implementations we'd compare equal FEVs as inequal and unnecessarily re-evaluate SkyKeys that we could have verified clean. -- MOS_MIGRATED_REVID=99397188
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
index e7b6580b15..4753735ab3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java
@@ -46,4 +46,20 @@ public final class FilesetEntryValue implements SkyValue {
public static SkyKey key(FilesetTraversalParams params) {
return new SkyKey(SkyFunctions.FILESET_ENTRY, params);
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+ if (!(obj instanceof FilesetEntryValue)) {
+ return false;
+ }
+ return symlinks.equals(((FilesetEntryValue) obj).symlinks);
+ }
+
+ @Override
+ public int hashCode() {
+ return symlinks.hashCode();
+ }
}