Delete non-interning, non-singleton @AutoCodec.

PiperOrigin-RevId: 409171824
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
index f682618..318cab6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageSpecification.java
@@ -21,8 +21,8 @@
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.cmdline.RepositoryName;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.LinkedHashMap;
 import java.util.stream.Stream;
@@ -158,12 +158,9 @@
     return AllPackages.EVERYTHING;
   }
 
-  @AutoCodec
-  @VisibleForSerialization
-  static final class SinglePackage extends PackageSpecification {
+  private static final class SinglePackage extends PackageSpecification {
     private final PackageIdentifier singlePackageName;
 
-    @VisibleForSerialization
     SinglePackage(PackageIdentifier singlePackageName) {
       this.singlePackageName = singlePackageName;
     }
@@ -201,12 +198,9 @@
     }
   }
 
-  @AutoCodec
-  @VisibleForSerialization
-  static final class AllPackagesBeneath extends PackageSpecification {
+  private static final class AllPackagesBeneath extends PackageSpecification {
     private final PackageIdentifier prefix;
 
-    @VisibleForSerialization
     AllPackagesBeneath(PackageIdentifier prefix) {
       this.prefix = prefix;
     }
@@ -249,9 +243,7 @@
   }
 
   /** A package specification for a negative match, e.g. {@code -//pkg/sub/...}. */
-  @AutoCodec
-  @VisibleForSerialization
-  static final class NegativePackageSpecification extends PackageSpecification {
+  private static final class NegativePackageSpecification extends PackageSpecification {
     private final PackageSpecification delegate;
 
     NegativePackageSpecification(PackageSpecification delegate) {
@@ -288,10 +280,10 @@
     }
   }
 
-  @AutoCodec
   @VisibleForSerialization
   static final class AllPackages extends PackageSpecification {
-    private static final PackageSpecification EVERYTHING = new AllPackages();
+    @SerializationConstant @VisibleForSerialization
+    static final PackageSpecification EVERYTHING = new AllPackages();
 
     @Override
     protected boolean containsPackage(PackageIdentifier packageName) {
@@ -331,14 +323,12 @@
    * testing a given package for containment (see {@link #containedPackages()}}.
    */
   @Immutable
-  @AutoCodec
   public static final class PackageGroupContents {
     private final ImmutableMap<PackageIdentifier, PackageSpecification> singlePackages;
     private final ImmutableList<PackageSpecification> negativePackageSpecifications;
     private final ImmutableList<PackageSpecification> allSpecifications;
 
-    @VisibleForSerialization
-    PackageGroupContents(
+    private PackageGroupContents(
         ImmutableMap<PackageIdentifier, PackageSpecification> singlePackages,
         ImmutableList<PackageSpecification> negativePackageSpecifications,
         ImmutableList<PackageSpecification> allSpecifications) {
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 fb131cc..ecdd7cc 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
@@ -57,6 +57,7 @@
 import com.google.devtools.build.lib.packages.Type.ConversionException;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.util.StringUtil;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.io.Serializable;
@@ -122,7 +123,6 @@
  */
 // Non-final only for mocking in tests. Do not subclass!
 @Immutable
-@AutoCodec
 public class RuleClass {
 
   /**
@@ -139,15 +139,15 @@
    */
   private static final int MAX_ATTRIBUTE_NAME_LENGTH = 128;
 
-  @AutoCodec
+  @SerializationConstant
   static final Function<? super Rule, Map<String, Label>> NO_EXTERNAL_BINDINGS =
       Functions.constant(ImmutableMap.of());
 
-  @AutoCodec
+  @SerializationConstant
   static final Function<? super Rule, List<String>> NO_TOOLCHAINS_TO_REGISTER =
       Functions.constant(ImmutableList.of());
 
-  @AutoCodec
+  @SerializationConstant
   static final Function<? super Rule, Set<String>> NO_OPTION_REFERENCE =
       Functions.constant(ImmutableSet.of());
 
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/BUILD b/src/main/java/com/google/devtools/build/lib/rules/java/BUILD
index fc4c128..27064d8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/BUILD
@@ -203,6 +203,7 @@
         "//src/main/java/com/google/devtools/build/lib/rules/cpp",
         "//src/main/java/com/google/devtools/build/lib/shell",
         "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+        "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
index bb39006..77ecb8e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSemantics.java
@@ -47,7 +47,7 @@
 import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider.ClasspathType;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration.OneVersionEnforcementLevel;
 import com.google.devtools.build.lib.rules.java.proto.GeneratedExtensionRegistryProvider;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.Pair;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -127,7 +127,7 @@
    * Implementation for the :java_launcher attribute. Note that the Java launcher is disabled by
    * default, so it returns null for the configuration-independent default value.
    */
-  @AutoCodec
+  @SerializationConstant
   LabelLateBoundDefault<JavaConfiguration> JAVA_LAUNCHER =
       LabelLateBoundDefault.fromTargetConfiguration(
           JavaConfiguration.class,
@@ -156,28 +156,28 @@
             return javaConfig.getJavaLauncherLabel();
           });
 
-  @AutoCodec
+  @SerializationConstant
   LabelListLateBoundDefault<JavaConfiguration> JAVA_PLUGINS =
       LabelListLateBoundDefault.fromTargetConfiguration(
           JavaConfiguration.class,
           (rule, attributes, javaConfig) -> ImmutableList.copyOf(javaConfig.getPlugins()));
 
   /** Implementation for the :proguard attribute. */
-  @AutoCodec
+  @SerializationConstant
   LabelLateBoundDefault<JavaConfiguration> PROGUARD =
       LabelLateBoundDefault.fromTargetConfiguration(
           JavaConfiguration.class,
           null,
           (rule, attributes, javaConfig) -> javaConfig.getProguardBinary());
 
-  @AutoCodec
+  @SerializationConstant
   LabelListLateBoundDefault<JavaConfiguration> EXTRA_PROGUARD_SPECS =
       LabelListLateBoundDefault.fromTargetConfiguration(
           JavaConfiguration.class,
           (rule, attributes, javaConfig) ->
               ImmutableList.copyOf(javaConfig.getExtraProguardSpecs()));
 
-  @AutoCodec
+  @SerializationConstant
   LabelLateBoundDefault<JavaConfiguration> BYTECODE_OPTIMIZER =
       LabelLateBoundDefault.fromTargetConfiguration(
           JavaConfiguration.class,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD b/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
index 25e7641..510edaf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
@@ -45,6 +45,7 @@
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//src/main/java/com/google/devtools/build/lib/packages",
         "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+        "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
         "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto",
         "//src/main/java/com/google/devtools/build/lib/util",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
index 3b27fae..34c81e3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
@@ -42,6 +42,7 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.SerializationConstant;
 import com.google.devtools.build.lib.util.OnDemandString;
 import java.util.HashSet;
 import java.util.List;
@@ -142,14 +143,11 @@
     }
   }
 
-  @AutoCodec.VisibleForSerialization
-  @AutoCodec
-  static class OnDemandCommandLineExpansion extends OnDemandString {
+  private static class OnDemandCommandLineExpansion extends OnDemandString {
     // E.g., --java_out=%s
     private final String template;
     private final Map<String, ? extends CharSequence> variableValues;
 
-    @AutoCodec.VisibleForSerialization
     OnDemandCommandLineExpansion(
         String template, Map<String, ? extends CharSequence> variableValues) {
       this.template = template;
@@ -609,11 +607,11 @@
     }
   }
 
-  @AutoCodec @AutoCodec.VisibleForSerialization
+  @SerializationConstant @AutoCodec.VisibleForSerialization
   static final CommandLineItem.MapFn<ProtoSource> EXPAND_TO_IMPORT_PATHS =
       (src, args) -> args.accept(src.getImportPath().getSafePathString());
 
-  @AutoCodec @AutoCodec.VisibleForSerialization
+  @SerializationConstant @AutoCodec.VisibleForSerialization
   static final CommandLineItem.MapFn<String> EXPAND_TRANSITIVE_PROTO_PATH_FLAGS =
       (flag, args) -> {
         if (!flag.equals(".")) {
@@ -621,9 +619,7 @@
         }
       };
 
-  @AutoCodec
-  @AutoCodec.VisibleForSerialization
-  static final class ExpandImportArgsFn implements CapturingMapFn<ProtoSource> {
+  private static final class ExpandImportArgsFn implements CapturingMapFn<ProtoSource> {
     /**
      * Generates up to two import flags for each artifact: one for full path (only relative to the
      * repository root) and one for the path relative to the proto source root (if one exists
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorMessageValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorMessageValue.java
index ee58f01..6b633ea 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorMessageValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorMessageValue.java
@@ -124,11 +124,10 @@
         }
       };
 
-  @AutoCodec
-  static class NoSuchPackageExceptionValue extends PackageErrorMessageValue {
+  private static class NoSuchPackageExceptionValue extends PackageErrorMessageValue {
     private final String errorMessage;
 
-    public NoSuchPackageExceptionValue(String errorMessage) {
+    NoSuchPackageExceptionValue(String errorMessage) {
       this.errorMessage = errorMessage;
     }