aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar mstaib <mstaib@google.com>2018-04-27 07:38:12 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-27 07:39:15 -0700
commitec8fe97593355d3363fd911b0b61ab3784f6fd8f (patch)
tree74a70c8b562c07e58f394435b5261872a40276dc /src/main/java/com
parent45ce49e6efdbf58142bb0f36f797ee76f9ee4d8d (diff)
Add equality support to composing transitions.
RELNOTES: None. PiperOrigin-RevId: 194540141
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingPatchTransition.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/transitions/ComposingSplitTransition.java13
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}).