Fix miscategorized Starlark provider types

RELNOTES: None.
PiperOrigin-RevId: 259394477
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
index 98a9aea..66d542b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java
@@ -18,10 +18,12 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 
 /** Info object propagating information about protocol buffer sources. */
 @SkylarkModule(
     name = "ProtoInfo",
+    category = SkylarkModuleCategory.PROVIDER,
     doc =
         "Encapsulates information provided by <a href=\""
             + "../../be/protocol-buffer.html#proto_library\">proto_library.</a>"
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TemplateVariableInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TemplateVariableInfoApi.java
index 0af0811..fe7527b 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TemplateVariableInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/TemplateVariableInfoApi.java
@@ -17,23 +17,21 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 
 /** Provides access to make variables from the current fragments. */
 @SkylarkModule(
     name = "TemplateVariableInfo",
-    doc = "<b>WARNING</b>: The constructor of this provider is experimental and may go away at any "
-        + "time."
-        + "<p>Encapsulates template variables, that is, variables that can be referenced by "
-        + "strings like <code>$(VARIABLE)</code> in BUILD files and expanded by "
-        + "<code>ctx.expand_make_variables</code> and implicitly in certain attributes of "
-        + "built-in rules."
-        + "</p>"
-        + "<p><code>TemplateVariableInfo</code> can be created by calling its eponymous "
-        + "constructor with a string-to-string dict as an argument that specifies the variables "
-        + "provided."
-        + "</p>"
-        + "<p>Example: <code>platform_common.TemplateVariableInfo({'FOO': 'bar'})</code>"
-        + "</p>")
+    category = SkylarkModuleCategory.PROVIDER,
+    doc =
+        "<b>WARNING</b>: The constructor of this provider is experimental and may go away at any "
+            + "time.<p>Encapsulates template variables, that is, variables that can be referenced"
+            + " by strings like <code>$(VARIABLE)</code> in BUILD files and expanded by"
+            + " <code>ctx.expand_make_variables</code> and implicitly in certain attributes of"
+            + " built-in rules.</p><p><code>TemplateVariableInfo</code> can be created by calling"
+            + " its eponymous constructor with a string-to-string dict as an argument that"
+            + " specifies the variables provided.</p><p>Example:"
+            + " <code>platform_common.TemplateVariableInfo({'FOO': 'bar'})</code></p>")
 public interface TemplateVariableInfoApi extends StructApi {
 
   @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodeConfigProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodeConfigProviderApi.java
index 71ef2a1..2d04a4a 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodeConfigProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodeConfigProviderApi.java
@@ -18,6 +18,7 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 
 /**
  * An interface for an info type containing the set of Apple versions computed from command line
@@ -25,9 +26,12 @@
  */
 @SkylarkModule(
     name = "XcodeVersionConfig",
+    category = SkylarkModuleCategory.PROVIDER,
     doc = "The set of Apple versions computed from command line options and the xcode_config rule.")
-public interface XcodeConfigProviderApi<ApplePlatformApiT extends ApplePlatformApi,
-    ApplePlatformTypeApiT extends ApplePlatformTypeApi> extends StructApi {
+public interface XcodeConfigProviderApi<
+        ApplePlatformApiT extends ApplePlatformApi,
+        ApplePlatformTypeApiT extends ApplePlatformTypeApi>
+    extends StructApi {
 
   @SkylarkCallable(name = "xcode_version",
       doc = "Returns the Xcode version that is being used to build.<p>"
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigFeatureFlagProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigFeatureFlagProviderApi.java
index 362f1cb..a33b892 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigFeatureFlagProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/config/ConfigFeatureFlagProviderApi.java
@@ -18,14 +18,13 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 
-/**
- * An info object for config_feature_flag rules.
- */
+/** An info object for config_feature_flag rules. */
 @SkylarkModule(
-  name = "FeatureFlagInfo",
-  doc = "A provider used to access information about config_feature_flag rules."
-)
+    name = "FeatureFlagInfo",
+    category = SkylarkModuleCategory.PROVIDER,
+    doc = "A provider used to access information about config_feature_flag rules.")
 public interface ConfigFeatureFlagProviderApi extends StructApi {
 
   @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
index 54238d0..ea001ca 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
@@ -31,7 +31,11 @@
 @SkylarkModule(
     name = "CcInfo",
     category = SkylarkModuleCategory.PROVIDER,
-    doc = "A provider containing information for C++ compilation and linking.")
+    doc =
+        "A provider for compilation and linking of C++. This "
+            + "is also a marking provider telling C++ rules that they can depend on the rule "
+            + "with this provider. If it is not intended for the rule to be depended on by C++, "
+            + "the rule should wrap the CcInfo in some other provider.")
 public interface CcInfoApi extends StructApi {
   String NAME = "CcInfo";
 
@@ -47,14 +51,13 @@
       structField = true)
   CcLinkingContextApi getCcLinkingContext();
 
-  /** The provider implementing this can construct the CcInfo provider. */
+  /** The provider implementing this can construct CcInfo objects. */
   @SkylarkModule(
-      name = "CcProvider",
-      doc =
-          "A provider for compilation and linking of C++. This "
-              + "is also a marking provider telling C++ rules that they can depend on the rule "
-              + "with this provider. If it is not intended for the rule to be depended on by C++, "
-              + "the rule should wrap the CcInfo in some other provider.")
+      name = "Provider",
+      doc = "",
+      // This object is documented via the CcInfo documentation and the docuemntation of its
+      // callable function.
+      documented = false)
   interface Provider extends ProviderApi {
 
     @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainConfigInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainConfigInfoApi.java
index d5cd2b3..ffce686 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainConfigInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainConfigInfoApi.java
@@ -24,7 +24,7 @@
 @SkylarkModule(
     name = "CcToolchainConfigInfo",
     namespace = true,
-    category = SkylarkModuleCategory.BUILTIN,
+    category = SkylarkModuleCategory.PROVIDER,
     doc =
         "Additional layer of configurability for C++ rules. Encapsulates platform-dependent "
             + "specifics of C++ actions through features and action configs. It is used to "
@@ -38,6 +38,11 @@
   String getProto();
 
   /** Provider class for {@link CcToolchainConfigInfoApi} objects. */
-  @SkylarkModule(name = "Provider", documented = false, doc = "")
+  @SkylarkModule(
+      name = "Provider",
+      // This object is documented via the CcInfo documentation and the docuemntation of its
+      // callable function.
+      documented = false,
+      doc = "")
   public interface Provider extends ProviderApi {}
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
index 4be923f..0dc6513 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcToolchainProviderApi.java
@@ -19,12 +19,16 @@
 import com.google.devtools.build.lib.skylarkinterface.Param;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import javax.annotation.Nullable;
 
 /** Information about the C++ toolchain. */
-@SkylarkModule(name = "CcToolchainInfo", doc = "Information about the C++ compiler being used.")
+@SkylarkModule(
+    name = "CcToolchainInfo",
+    category = SkylarkModuleCategory.PROVIDER,
+    doc = "Information about the C++ compiler being used.")
 public interface CcToolchainProviderApi<FeatureConfigurationT extends FeatureConfigurationApi>
     extends ToolchainInfoApi {
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
index c926833..3ccdfc6 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaRuntimeInfoApi.java
@@ -17,11 +17,15 @@
 import com.google.devtools.build.lib.skylarkbuildapi.platform.ToolchainInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.vfs.PathFragment;
 
 /** Information about the Java runtime being used. */
-@SkylarkModule(name = "JavaRuntimeInfo", doc = "Information about the Java runtime being used.")
+@SkylarkModule(
+    name = "JavaRuntimeInfo",
+    category = SkylarkModuleCategory.PROVIDER,
+    doc = "Information about the Java runtime being used.")
 public interface JavaRuntimeInfoApi extends ToolchainInfoApi {
 
   @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
index 9cffb54..c610c02 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaToolchainSkylarkApiProviderApi.java
@@ -18,6 +18,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.platform.ToolchainInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
@@ -26,7 +27,8 @@
  * field on a Target struct.
  */
 @SkylarkModule(
-    name = "JavaToolchainSkylarkApiProvider",
+    name = "JavaToolchainInfo",
+    category = SkylarkModuleCategory.PROVIDER,
     doc =
         "Provides access to information about the Java toolchain rule. "
             + "Accessible as a 'java_toolchain' field on a Target struct.")
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
index cb03e91..67ba206 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/InstrumentedFilesInfoApi.java
@@ -21,7 +21,7 @@
 /** Contains information about instrumented files sources and instrumentation metadata. */
 @SkylarkModule(
     name = "InstrumentedFilesInfo",
-    category = SkylarkModuleCategory.NONE,
+    category = SkylarkModuleCategory.PROVIDER,
     doc =
         "Contains information about instrumented file sources and instrumentation metadata "
             + "for purposes of code coverage. Rule targets which return an instance of this "
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
index 88610bf..8d4eef1 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
@@ -2523,7 +2523,7 @@
     reporter.removeHandler(failFastHandler);
     getConfiguredTarget("//a:r");
     assertContainsEvent(
-        "expected value of type 'JavaToolchainSkylarkApiProvider' for parameter 'java_toolchain'");
+        "expected value of type 'JavaToolchainInfo' for parameter 'java_toolchain'");
   }
 
   @Test