diff options
author | Laszlo Csomor <laszlocsomor@google.com> | 2015-07-29 18:53:12 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-07-30 11:32:34 +0000 |
commit | 8d85b9c29d9cd8656ecf2ad27144ba7f1e371d5a (patch) | |
tree | af5d1ff0f56d40da0bc872e3bab935acc3a3d4a1 /src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java | |
parent | 3679556ef976b93a860f8618d8170f59dfb6a50c (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.java | 16 |
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(); + } } |