Replace ConfigurationTransition with PatchTransition in a few places. RELNOTES: None. PiperOrigin-RevId: 194459347
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java index e56f036..ca23d24 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/ComposingRuleTransitionFactory.java
@@ -17,7 +17,6 @@ import com.google.common.base.Preconditions; import com.google.devtools.build.lib.analysis.config.transitions.ComposingPatchTransition; -import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition; import com.google.devtools.build.lib.analysis.config.transitions.NoTransition; import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition; import com.google.devtools.build.lib.packages.Rule; @@ -41,11 +40,9 @@ } @Override - public ConfigurationTransition buildTransitionFor(Rule rule) { - PatchTransition transition1 = - (PatchTransition) Preconditions.checkNotNull(rtf1.buildTransitionFor(rule)); - PatchTransition transition2 = - (PatchTransition) Preconditions.checkNotNull(rtf2.buildTransitionFor(rule)); + public PatchTransition buildTransitionFor(Rule rule) { + PatchTransition transition1 = Preconditions.checkNotNull(rtf1.buildTransitionFor(rule)); + PatchTransition transition2 = Preconditions.checkNotNull(rtf2.buildTransitionFor(rule)); if (transition1 == NoTransition.INSTANCE) { return transition2;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java index 0afc7f9..946f959 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/TransitionResolver.java
@@ -222,9 +222,8 @@ } if (transitionFactory != null) { PatchTransition ruleClassTransition = - (PatchTransition) - Preconditions.checkNotNull( - transitionFactory.buildTransitionFor(toTarget.getAssociatedRule())); + Preconditions.checkNotNull( + transitionFactory.buildTransitionFor(toTarget.getAssociatedRule())); if (currentTransition == NoTransition.INSTANCE) { return ruleClassTransition; } else if (ruleClassTransition != NoTransition.INSTANCE) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java index 4795e61..d423ea2 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java +++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -31,6 +31,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Ordering; import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition; +import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.LabelSyntaxException; import com.google.devtools.build.lib.cmdline.PackageIdentifier; @@ -553,15 +554,15 @@ @AutoCodec.VisibleForSerialization @AutoCodec static final class FixedTransitionFactory implements RuleTransitionFactory { - private final ConfigurationTransition transition; + private final PatchTransition transition; @AutoCodec.VisibleForSerialization - FixedTransitionFactory(ConfigurationTransition transition) { + FixedTransitionFactory(PatchTransition transition) { this.transition = transition; } @Override - public ConfigurationTransition buildTransitionFor(Rule rule) { + public PatchTransition buildTransitionFor(Rule rule) { return transition; } } @@ -895,13 +896,10 @@ /** * Applies the given transition to all incoming edges for this rule class. * - * <p>The given transition must be a PatchTransition. We use the more general Transition - * here because PatchTransition is not available in this package. - * * <p>If you need the transition to depend on the rule it's being applied to, use * {@link #cfg(RuleTransitionFactory)}. */ - public Builder cfg(ConfigurationTransition transition) { + public Builder cfg(PatchTransition transition) { Preconditions.checkState(type != RuleClassType.ABSTRACT, "Setting not inherited property (cfg) of abstract rule class '%s'", name); Preconditions.checkState(this.transitionFactory == null,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java index 555ff97..e449253 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/RuleTransitionFactory.java
@@ -14,7 +14,7 @@ package com.google.devtools.build.lib.packages; -import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransition; +import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition; /** * Customizable transition which accepts the rule it will be executing on. @@ -23,10 +23,8 @@ /** * Generates a transition to be used when entering the given rule. * - * <p>This transition must be a PatchTransition, but that class is not accessible in this package. - * * <p>If this class determines that no transition should be performed, it should return * {@code NoTransition.INSTANCE}. */ - ConfigurationTransition buildTransitionFor(Rule rule); + PatchTransition buildTransitionFor(Rule rule); }