diff options
author | mstaib <mstaib@google.com> | 2018-04-27 07:38:12 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-27 07:39:15 -0700 |
commit | ec8fe97593355d3363fd911b0b61ab3784f6fd8f (patch) | |
tree | 74a70c8b562c07e58f394435b5261872a40276dc /src/main/java/com/google/devtools/build/lib | |
parent | 45ce49e6efdbf58142bb0f36f797ee76f9ee4d8d (diff) |
Add equality support to composing transitions.
RELNOTES: None.
PiperOrigin-RevId: 194540141
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
2 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingPatchTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingPatchTransition.java index 6703b5c3a7..635cab4b47 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingPatchTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingPatchTransition.java @@ -57,5 +57,16 @@ public class ComposingPatchTransition implements PatchTransition { public String getName() { return delegate.getName(); } + + @Override + public int hashCode() { + return delegate.hashCode(); + } + + @Override + public boolean equals(Object other) { + return other instanceof ComposingPatchTransition + && ((ComposingPatchTransition) other).delegate.equals(this.delegate); + } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java index 73fa1cf4e5..70c3bf8e70 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java @@ -19,6 +19,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.List; +import java.util.Objects; /** * A configuration transition that composes two other transitions in an ordered sequence. @@ -81,6 +82,18 @@ public class ComposingSplitTransition implements SplitTransition { return transition; } + @Override + public int hashCode() { + return Objects.hash(transition1, transition2); + } + + @Override + public boolean equals(Object other) { + return other instanceof ComposingSplitTransition + && ((ComposingSplitTransition) other).transition1.equals(this.transition1) + && ((ComposingSplitTransition) other).transition2.equals(this.transition2); + } + /** * Returns whether this transition contains only patches (and is thus suitable as a delegate * for {@link ComposingPatchTransition}). |