Remove ConfigurationTransitionProxy.NONE and BaseRuleClasses.DYNAMIC_TRANSITION_MAP.

This leaves DATA as the last remaining legacy transition.

PiperOrigin-RevId: 182422552
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index a02d410..c8cee3c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -48,6 +48,7 @@
 import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
 import com.google.devtools.build.lib.analysis.config.FragmentCollection;
 import com.google.devtools.build.lib.analysis.config.transitions.ConfigurationTransitionProxy;
+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.analysis.config.transitions.SplitTransition;
 import com.google.devtools.build.lib.analysis.config.transitions.Transition;
@@ -416,8 +417,8 @@
 
   @Nullable
   public <T extends Fragment> T getFragment(Class<T> fragment) {
-    // NONE means target configuration.
-    return getFragment(fragment, ConfigurationTransitionProxy.NONE);
+    // No transition means target configuration.
+    return getFragment(fragment, NoTransition.INSTANCE);
   }
 
   @Nullable
@@ -447,8 +448,8 @@
   }
 
   public <T extends Fragment> boolean isLegalFragment(Class<T> fragment) {
-    // NONE means target configuration.
-    return isLegalFragment(fragment, ConfigurationTransitionProxy.NONE);
+    // No transition means target configuration.
+    return isLegalFragment(fragment, NoTransition.INSTANCE);
   }
 
   protected BuildConfiguration getConfiguration(Transition transition) {
@@ -1072,8 +1073,7 @@
             + " is not configured for the host configuration");
       }
     } else if (mode == Mode.TARGET) {
-      if (!(transition instanceof PatchTransition)
-          && transition != ConfigurationTransitionProxy.NONE) {
+      if (!(transition instanceof PatchTransition) && transition != NoTransition.INSTANCE) {
         throw new IllegalStateException(getRule().getLocation() + ": "
             + getRuleClassNameForLogging() + " attribute " + attributeName
             + " is not configured for the target configuration");
@@ -1095,35 +1095,6 @@
   }
 
   /**
-   * Returns the Mode for which the attribute is configured.
-   * This is intended for Skylark, where the Mode is implicitly chosen.
-   */
-  public Mode getAttributeMode(String attributeName) {
-    Attribute attributeDefinition = attributes().getAttributeDefinition(attributeName);
-    if (attributeDefinition == null) {
-      throw new IllegalStateException(getRule().getLocation() + ": " + getRuleClassNameForLogging()
-        + " attribute " + attributeName + " is not defined");
-    }
-    if (attributeDefinition.getType().getLabelClass() != LabelClass.DEPENDENCY) {
-      throw new IllegalStateException(getRuleClassNameForLogging() + " attribute " + attributeName
-        + " is not a label type attribute");
-    }
-    if (attributeDefinition.getConfigurationTransition().isHostTransition()) {
-      return Mode.HOST;
-    } else if (attributeDefinition.getConfigurationTransition()
-        == ConfigurationTransitionProxy.NONE) {
-      return Mode.TARGET;
-    } else if (attributeDefinition.getConfigurationTransition()
-        == ConfigurationTransitionProxy.DATA) {
-      return Mode.DATA;
-    } else if (attributeDefinition.hasSplitConfigurationTransition()) {
-      return Mode.SPLIT;
-    }
-    throw new IllegalStateException(getRule().getLocation() + ": "
-        + getRuleClassNameForLogging() + " attribute " + attributeName + " is not configured");
-  }
-
-  /**
    * For the specified attribute "attributeName" (which must be of type
    * list(label)), resolve all the labels into ConfiguredTargets (for the
    * configuration appropriate to the attribute) and return their build