Assert that declared providers are not TransitiveInfoProviders.

Also fix the remaining violations.

RELNOTES: None.
PiperOrigin-RevId: 163391215
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
index 6614c1a..4e0c62b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
@@ -29,13 +29,11 @@
 import com.google.devtools.build.lib.packages.AspectDescriptor;
 import com.google.devtools.build.lib.packages.AspectParameters;
 import com.google.devtools.build.lib.packages.ClassObjectConstructor;
-import com.google.devtools.build.lib.packages.ClassObjectConstructor.Key;
 import com.google.devtools.build.lib.packages.SkylarkClassObject;
 import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.util.Preconditions;
 import java.util.Arrays;
-import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.TreeMap;
 import javax.annotation.Nullable;
@@ -100,15 +98,12 @@
   }
 
   public SkylarkClassObject get(ClassObjectConstructor.Key key) {
-    if (OutputGroupProvider.SKYLARK_CONSTRUCTOR.getKey().equals(key)) {
-      return getProvider(OutputGroupProvider.class);
-    }
     return providers.getProvider(key);
   }
 
   public Object get(String legacyKey) {
     if (OutputGroupProvider.SKYLARK_NAME.equals(legacyKey)) {
-      return getProvider(OutputGroupProvider.class);
+      return get(OutputGroupProvider.SKYLARK_CONSTRUCTOR.getKey());
     }
     return providers.getProvider(legacyKey);
   }
@@ -133,10 +128,6 @@
     private final TransitiveInfoProviderMapBuilder providers =
         new TransitiveInfoProviderMapBuilder();
     private final Map<String, NestedSetBuilder<Artifact>> outputGroupBuilders = new TreeMap<>();
-    private final ImmutableMap.Builder<String, Object> skylarkProviderBuilder =
-        ImmutableMap.builder();
-    private final LinkedHashMap<Key, SkylarkClassObject>
-        skylarkDeclaredProvidersBuilder = new LinkedHashMap<>();
     private final RuleContext ruleContext;
     private final AspectDescriptor descriptor;
 
@@ -221,23 +212,18 @@
         throw new EvalException(
             constructor.getLocation(), "All providers must be top level values");
       }
-      ClassObjectConstructor.Key key = constructor.getKey();
-      addDeclaredProvider(key, declaredProvider);
+      addDeclaredProvider(declaredProvider);
       return this;
     }
 
-    private void addDeclaredProvider(Key key, SkylarkClassObject declaredProvider) {
-      if (OutputGroupProvider.SKYLARK_CONSTRUCTOR.getKey().equals(key)) {
-        addProvider(OutputGroupProvider.class, (OutputGroupProvider) declaredProvider);
-      } else {
-        providers.put(declaredProvider);
-      }
+    private void addDeclaredProvider(SkylarkClassObject declaredProvider) {
+      providers.put(declaredProvider);
     }
 
     public Builder addNativeDeclaredProvider(SkylarkClassObject declaredProvider) {
       ClassObjectConstructor constructor = declaredProvider.getConstructor();
       Preconditions.checkState(constructor.isExported());
-      addDeclaredProvider(constructor.getKey(), declaredProvider);
+      addDeclaredProvider(declaredProvider);
       return this;
     }
 
@@ -253,8 +239,7 @@
           throw new IllegalStateException(
               "OutputGroupProvider was provided explicitly; do not use addOutputGroup");
         }
-        addDeclaredProvider(OutputGroupProvider.SKYLARK_CONSTRUCTOR.getKey(),
-            new OutputGroupProvider(outputGroups.build()));
+        addDeclaredProvider(new OutputGroupProvider(outputGroups.build()));
       }
 
       addProvider(