Delete non-interning, non-singleton @AutoCodec.

PiperOrigin-RevId: 411114814
diff --git a/src/main/java/com/google/devtools/build/lib/actions/CommandLine.java b/src/main/java/com/google/devtools/build/lib/actions/CommandLine.java
index 3f42263..98aa885 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/CommandLine.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/CommandLine.java
@@ -19,16 +19,12 @@
 import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander;
 import com.google.devtools.build.lib.collect.CollectionUtils;
 import com.google.devtools.build.lib.collect.IterablesChain;
-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.util.Fingerprint;
 import javax.annotation.Nullable;
 
 /** A representation of a list of arguments. */
 public abstract class CommandLine {
-  @AutoCodec
-  @VisibleForSerialization
-  static class EmptyCommandLine extends CommandLine {
+  private static class EmptyCommandLine extends CommandLine {
     @Override
     public Iterable<String> arguments() {
       return ImmutableList.of();
@@ -72,9 +68,7 @@
     }
   }
 
-  @AutoCodec
-  @VisibleForSerialization
-  static class SimpleCommandLine extends CommandLine {
+  private static class SimpleCommandLine extends CommandLine {
     private Iterable<String> args;
 
     SimpleCommandLine(Iterable<String> args) {
@@ -93,13 +87,10 @@
     return new SimpleCommandLine(immutableArguments);
   }
 
-  @AutoCodec
-  @VisibleForSerialization
-  static class PrefixedCommandLine extends CommandLine {
+  private static class PrefixedCommandLine extends CommandLine {
     private ImmutableList<String> executableArgs;
     private CommandLine commandLine;
 
-    @VisibleForSerialization
     PrefixedCommandLine(ImmutableList<String> executableArgs, CommandLine commandLine) {
       this.executableArgs = executableArgs;
       this.commandLine = commandLine;
@@ -117,13 +108,10 @@
     }
   }
 
-  @AutoCodec
-  @VisibleForSerialization
-  static class SuffixedCommandLine extends CommandLine {
+  private static class SuffixedCommandLine extends CommandLine {
     private ImmutableList<String> executableArgs;
     private CommandLine commandLine;
 
-    @VisibleForSerialization
     SuffixedCommandLine(ImmutableList<String> executableArgs, CommandLine commandLine) {
       this.executableArgs = executableArgs;
       this.commandLine = commandLine;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
index 392f092..4327acd 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -315,6 +315,7 @@
         "//src/main/java/com/google/devtools/build/lib/rules:repository/workspace_file_helper",
         "//src/main/java/com/google/devtools/build/lib/rules/cpp:cpp_interface",
         "//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/util",
         "//src/main/java/com/google/devtools/build/lib/util:TestType",
         "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
@@ -1875,6 +1876,7 @@
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//src/main/java/com/google/devtools/build/lib/pkgcache",
         "//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/vfs:pathfragment",
         "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
         "//src/main/protobuf:failure_details_java_proto",
@@ -1944,6 +1946,7 @@
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//src/main/java/com/google/devtools/build/lib/pkgcache",
         "//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/vfs",
         "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
         "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
@@ -1979,6 +1982,7 @@
         "//src/main/java/com/google/devtools/build/lib/cmdline",
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//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/vfs",
         "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
         "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
@@ -2176,6 +2180,7 @@
         "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//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/vfs",
         "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
         "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
index 19810fb..e1a64e3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java
@@ -38,7 +38,6 @@
  * "precomputed" from skyframe's perspective and so the graph needs to be prepopulated with them
  * (e.g. via injection).
  */
-@AutoCodec
 public class PrecomputedValue implements SkyValue {
   /**
    * An externally-injected precomputed value. Exists so that modules can inject precomputed values
@@ -96,7 +95,7 @@
 
   private final Object value;
 
-  @AutoCodec.Instantiator
+  @VisibleForTesting
   public PrecomputedValue(Object value) {
     this.value = Preconditions.checkNotNull(value);
   }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
index 20f77b8..45b71ed 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java
@@ -25,6 +25,7 @@
 import com.google.devtools.build.lib.server.FailureDetails.TargetPatterns;
 import com.google.devtools.build.lib.skyframe.TargetPatternValue.TargetPatternKey;
 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.vfs.PathFragment;
 import com.google.devtools.build.skyframe.AbstractSkyKey;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -46,7 +47,7 @@
 public class PrepareDepsOfPatternValue implements SkyValue {
   // Note that this value does not guarantee singleton-like reference equality because we use Java
   // deserialization. Java deserialization can create other instances.
-  @AutoCodec
+  @SerializationConstant
   public static final PrepareDepsOfPatternValue INSTANCE = new PrepareDepsOfPatternValue();
 
   private PrepareDepsOfPatternValue() {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
index 2ea3947..4bfc403 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java
@@ -23,6 +23,7 @@
 import com.google.devtools.build.lib.pkgcache.FilteringPolicies;
 import com.google.devtools.build.lib.pkgcache.FilteringPolicy;
 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.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.RootedPath;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -43,7 +44,7 @@
  * directories above that one, but they don't need to be re-run.
  */
 public final class PrepareDepsOfTargetsUnderDirectoryValue implements SkyValue {
-  @AutoCodec
+  @SerializationConstant
   public static final PrepareDepsOfTargetsUnderDirectoryValue INSTANCE =
       new PrepareDepsOfTargetsUnderDirectoryValue();
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryValue.java
index e26df98..850d99b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareTestSuitesUnderDirectoryValue.java
@@ -19,6 +19,7 @@
 import com.google.devtools.build.lib.concurrent.BlazeInterners;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
 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.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.RootedPath;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -27,7 +28,7 @@
 
 /** Dummy {@link SkyValue} for {@link PrepareDepsOfTargetsUnderDirectoryFunction}. */
 public class PrepareTestSuitesUnderDirectoryValue implements SkyValue {
-  @AutoCodec
+  @SerializationConstant
   public static final PrepareTestSuitesUnderDirectoryValue INSTANCE =
       new PrepareTestSuitesUnderDirectoryValue();
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
index 0fd722f..7e190be 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java
@@ -23,6 +23,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
 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.vfs.PathFragment;
 import com.google.devtools.build.lib.vfs.RootedPath;
 import com.google.devtools.build.skyframe.SkyFunctionName;
@@ -35,7 +36,7 @@
 @Immutable
 @ThreadSafe
 public class RecursivePkgValue implements SkyValue {
-  @AutoCodec
+  @SerializationConstant
   static final RecursivePkgValue EMPTY =
       new RecursivePkgValue(NestedSetBuilder.<String>emptySet(Order.STABLE_ORDER), false);
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
index 49e8042..bb14011 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RegisteredToolchainsValue.java
@@ -28,7 +28,6 @@
 /**
  * A value which represents every toolchain known to Bazel and available for toolchain resolution.
  */
-@AutoCodec
 @AutoValue
 public abstract class RegisteredToolchainsValue implements SkyValue {
 
@@ -88,7 +87,6 @@
     }
   }
 
-  @AutoCodec.Instantiator
   public static RegisteredToolchainsValue create(
       ImmutableList<DeclaredToolchainInfo> registeredToolchains) {
     return new AutoValue_RegisteredToolchainsValue(registeredToolchains);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SingleToolchainResolutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/SingleToolchainResolutionValue.java
index e021b47..ac6ab1a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SingleToolchainResolutionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SingleToolchainResolutionValue.java
@@ -15,11 +15,11 @@
 package com.google.devtools.build.lib.skyframe;
 
 import com.google.auto.value.AutoValue;
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.analysis.platform.ToolchainTypeInfo;
 import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
 import com.google.devtools.build.skyframe.SkyFunctionName;
 import com.google.devtools.build.skyframe.SkyKey;
 import com.google.devtools.build.skyframe.SkyValue;
@@ -29,7 +29,6 @@
  * A value which represents the map of potential execution platforms and resolved toolchains for a
  * single toolchain type. This allows for a Skyframe cache per toolchain type.
  */
-@AutoCodec
 @AutoValue
 public abstract class SingleToolchainResolutionValue implements SkyValue {
 
@@ -62,8 +61,6 @@
   }
 
   /** {@link SkyKey} implementation used for {@link SingleToolchainResolutionFunction}. */
-  @AutoCodec
-  @AutoCodec.VisibleForSerialization
   @AutoValue
   public abstract static class SingleToolchainResolutionKey implements SkyKey {
 
@@ -82,7 +79,6 @@
 
     abstract boolean debugTarget();
 
-    @AutoCodec.Instantiator
     static SingleToolchainResolutionKey create(
         BuildConfigurationKey configurationKey,
         Label toolchainTypeLabel,
@@ -98,7 +94,7 @@
     }
   }
 
-  @AutoCodec.Instantiator
+  @VisibleForTesting
   public static SingleToolchainResolutionValue create(
       ToolchainTypeInfo toolchainType,
       ImmutableMap<ConfiguredTargetKey, Label> availableToolchainLabels) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
index 91e6519..ff34827 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java
@@ -17,7 +17,7 @@
 import com.google.common.collect.Iterables;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.TopLevelArtifactContext;
-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.skyframe.SkyFunctionName;
 import com.google.devtools.build.skyframe.SkyValue;
 import java.util.Collection;
@@ -25,7 +25,7 @@
 
 /** The value of a TargetCompletion. Just a sentinel. */
 public class TargetCompletionValue implements SkyValue {
-  @AutoCodec static final TargetCompletionValue INSTANCE = new TargetCompletionValue();
+  @SerializationConstant static final TargetCompletionValue INSTANCE = new TargetCompletionValue();
 
   private TargetCompletionValue() {}
 
@@ -53,11 +53,9 @@
   }
 
   /** {@link com.google.devtools.build.skyframe.SkyKey} for {@link TargetCompletionValue}. */
-  @AutoCodec
   @AutoValue
   public abstract static class TargetCompletionKey
       implements CompletionFunction.TopLevelActionLookupKey {
-    @AutoCodec.Instantiator
     static TargetCompletionKey create(
         ConfiguredTargetKey actionLookupKey,
         TopLevelArtifactContext topLevelArtifactContext,