Better names for declared providers-related classes.

Follows
https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/.

RELNOTES: None.
PiperOrigin-RevId: 163728291
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 cd7b72b..de978e0 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
@@ -64,8 +64,9 @@
 import com.google.devtools.build.lib.packages.FileTarget;
 import com.google.devtools.build.lib.packages.FilesetEntry;
 import com.google.devtools.build.lib.packages.ImplicitOutputsFunction;
+import com.google.devtools.build.lib.packages.Info;
 import com.google.devtools.build.lib.packages.InputFile;
-import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
+import com.google.devtools.build.lib.packages.NativeProvider;
 import com.google.devtools.build.lib.packages.OutputFile;
 import com.google.devtools.build.lib.packages.PackageSpecification;
 import com.google.devtools.build.lib.packages.RawAttributeMapper;
@@ -74,7 +75,6 @@
 import com.google.devtools.build.lib.packages.RuleClass;
 import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
 import com.google.devtools.build.lib.packages.RuleErrorConsumer;
-import com.google.devtools.build.lib.packages.SkylarkClassObject;
 import com.google.devtools.build.lib.packages.Target;
 import com.google.devtools.build.lib.packages.TargetUtils;
 import com.google.devtools.build.lib.rules.AliasProvider;
@@ -717,9 +717,7 @@
       checkAttribute(attributeName, Mode.SPLIT);
       Map<Optional<String>, ? extends List<? extends TransitiveInfoCollection>> map =
           getSplitPrerequisites(attributeName);
-      return map.isEmpty()
-          ? ImmutableList.of()
-          : map.entrySet().iterator().next().getValue();
+      return map.isEmpty() ? ImmutableList.of() : map.entrySet().iterator().next().getValue();
     }
 
     checkAttribute(attributeName, mode);
@@ -820,13 +818,13 @@
   }
 
   /**
-   * For a given attribute, returns all declared provider provided by targets
-   * of that attribute. Each declared provider is keyed by the
-   * {@link BuildConfiguration} under which the provider was created.
+   * For a given attribute, returns all declared provider provided by targets of that attribute.
+   * Each declared provider is keyed by the {@link BuildConfiguration} under which the provider was
+   * created.
    */
-  public <C extends SkylarkClassObject> ImmutableListMultimap<BuildConfiguration, C>
-  getPrerequisitesByConfiguration(String attributeName, Mode mode,
-      final NativeClassObjectConstructor<C> provider) {
+  public <C extends Info>
+      ImmutableListMultimap<BuildConfiguration, C> getPrerequisitesByConfiguration(
+          String attributeName, Mode mode, final NativeProvider<C> provider) {
     List<? extends TransitiveInfoCollection> transitiveInfoCollections =
         getPrerequisites(attributeName, mode);
 
@@ -873,8 +871,8 @@
    * Returns all the declared providers (native and Skylark) for the specified constructor under the
    * specified attribute of this target in the BUILD file.
    */
-  public <T extends SkylarkClassObject> Iterable<T> getPrerequisites(
-      String attributeName, Mode mode, final NativeClassObjectConstructor<T> skylarkKey) {
+  public <T extends Info> Iterable<T> getPrerequisites(
+      String attributeName, Mode mode, final NativeProvider<T> skylarkKey) {
     return AnalysisUtils.getProviders(getPrerequisites(attributeName, mode), skylarkKey);
   }
 
@@ -884,8 +882,8 @@
    * TransitiveInfoCollection under the specified attribute.
    */
   @Nullable
-  public <T extends SkylarkClassObject> T getPrerequisite(
-      String attributeName, Mode mode, final NativeClassObjectConstructor<T> skylarkKey) {
+  public <T extends Info> T getPrerequisite(
+      String attributeName, Mode mode, final NativeProvider<T> skylarkKey) {
     TransitiveInfoCollection prerequisite = getPrerequisite(attributeName, mode);
     return prerequisite == null ? null : prerequisite.get(skylarkKey);
   }
@@ -904,9 +902,8 @@
    * Returns all the providers of the specified type that are listed under the specified attribute
    * of this target in the BUILD file, and that contain the specified provider.
    */
-  public <C extends SkylarkClassObject>
-  Iterable<? extends TransitiveInfoCollection> getPrerequisitesIf(
-      String attributeName, Mode mode, final NativeClassObjectConstructor<C> classType) {
+  public <C extends Info> Iterable<? extends TransitiveInfoCollection> getPrerequisitesIf(
+      String attributeName, Mode mode, final NativeProvider<C> classType) {
     return AnalysisUtils.filterByProvider(getPrerequisites(attributeName, mode), classType);
   }
 
@@ -1978,8 +1975,8 @@
     }
 
     /**
-     * Because some rules still have to use allowedRuleClasses to do rule dependency validation.
-     * A dependency is valid if it is from a rule in allowedRuledClasses, OR if all of the providers
+     * Because some rules still have to use allowedRuleClasses to do rule dependency validation. A
+     * dependency is valid if it is from a rule in allowedRuledClasses, OR if all of the providers
      * in requiredProviders are provided by the target.
      */
     private void validateRuleDependency(ConfiguredTarget prerequisite, Attribute attribute) {
@@ -1993,8 +1990,7 @@
         return;
       }
 
-      if (checkRuleDependencyMandatoryProviders(prerequisite, attribute,
-          unfulfilledRequirements)) {
+      if (checkRuleDependencyMandatoryProviders(prerequisite, attribute, unfulfilledRequirements)) {
         return;
       }
 
@@ -2005,14 +2001,13 @@
       }
     }
 
-    /**
-     * Check if prerequisite should be allowed based on its rule class.
-     */
-    private boolean checkRuleDependencyClass(ConfiguredTarget prerequisite, Attribute attribute,
-        Set<String> unfulfilledRequirements) {
+    /** Check if prerequisite should be allowed based on its rule class. */
+    private boolean checkRuleDependencyClass(
+        ConfiguredTarget prerequisite, Attribute attribute, Set<String> unfulfilledRequirements) {
       if (attribute.getAllowedRuleClassesPredicate() != Predicates.<RuleClass>alwaysTrue()) {
-        if (attribute.getAllowedRuleClassesPredicate().apply(
-            ((Rule) prerequisite.getTarget()).getRuleClassObject())) {
+        if (attribute
+            .getAllowedRuleClassesPredicate()
+            .apply(((Rule) prerequisite.getTarget()).getRuleClassObject())) {
           // prerequisite has an allowed rule class => accept.
           return true;
         }
@@ -2031,16 +2026,21 @@
     /**
      * Check if prerequisite should be allowed with warning based on its rule class.
      *
-     * If yes, also issues said warning.
+     * <p>If yes, also issues said warning.
      */
-    private boolean checkRuleDependencyClassWarnings(ConfiguredTarget prerequisite,
-        Attribute attribute) {
-      if (attribute.getAllowedRuleClassesWarningPredicate().apply(
-          ((Rule) prerequisite.getTarget()).getRuleClassObject())) {
+    private boolean checkRuleDependencyClassWarnings(
+        ConfiguredTarget prerequisite, Attribute attribute) {
+      if (attribute
+          .getAllowedRuleClassesWarningPredicate()
+          .apply(((Rule) prerequisite.getTarget()).getRuleClassObject())) {
         Predicate<RuleClass> allowedRuleClasses = attribute.getAllowedRuleClassesPredicate();
-        reportBadPrerequisite(attribute, prerequisite.getTarget().getTargetKind(), prerequisite,
+        reportBadPrerequisite(
+            attribute,
+            prerequisite.getTarget().getTargetKind(),
+            prerequisite,
             allowedRuleClasses == Predicates.<RuleClass>alwaysTrue()
-                ? null : "expected " + allowedRuleClasses,
+                ? null
+                : "expected " + allowedRuleClasses,
             true);
         // prerequisite has a rule class allowed with a warning => accept, emitting a warning.
         return true;
@@ -2048,12 +2048,9 @@
       return false;
     }
 
-    /**
-     * Check if prerequisite should be allowed based on required providers on
-     * the attribute.
-     */
-    private boolean checkRuleDependencyMandatoryProviders(ConfiguredTarget prerequisite,
-        Attribute attribute, Set<String> unfulfilledRequirements) {
+    /** Check if prerequisite should be allowed based on required providers on the attribute. */
+    private boolean checkRuleDependencyMandatoryProviders(
+        ConfiguredTarget prerequisite, Attribute attribute, Set<String> unfulfilledRequirements) {
       RequiredProviders requiredProviders = attribute.getRequiredProviders();
 
       if (requiredProviders.acceptsAny()) {
@@ -2066,7 +2063,8 @@
       }
 
       unfulfilledRequirements.add(
-          String.format("'%s' does not have mandatory providers: %s",
+          String.format(
+              "'%s' does not have mandatory providers: %s",
               prerequisite.getLabel(),
               prerequisite.missingProviders(requiredProviders).getDescription()));