From 7f74878b9da57666f04cb607a3d7a36122143863 Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 22 Nov 2021 17:20:58 -0800 Subject: [PATCH] Delete non-interning, non-singleton @AutoCodec. PiperOrigin-RevId: 411683398 --- .../devtools/build/lib/actions/ActionEnvironment.java | 5 +---- .../build/lib/actions/BuildConfigurationEvent.java | 4 +--- .../build/lib/actions/CompositeRunfilesSupplier.java | 8 ++------ .../devtools/build/lib/actions/EmptyRunfilesSupplier.java | 5 +++-- .../devtools/build/lib/actions/MiddlemanAction.java | 7 +------ .../java/com/google/devtools/build/lib/analysis/BUILD | 1 - .../build/lib/analysis/config/FragmentClassSet.java | 3 --- .../devtools/build/lib/packages/AspectDefinition.java | 5 +---- .../devtools/build/lib/packages/AspectParameters.java | 6 +----- .../devtools/build/lib/packages/BuiltinProvider.java | 2 -- .../devtools/build/lib/packages/EnvironmentLabels.java | 8 ++------ .../com/google/devtools/build/lib/packages/License.java | 7 +------ .../build/lib/packages/PredicatesWithMessage.java | 4 ++-- .../devtools/build/lib/packages/RequiredProviders.java | 2 -- 14 files changed, 15 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionEnvironment.java b/src/main/java/com/google/devtools/build/lib/actions/ActionEnvironment.java index f1ff0a0aa849e3..f8ea2b1c993940 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionEnvironment.java @@ -17,7 +17,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.util.Fingerprint; import java.util.LinkedHashMap; import java.util.Map; @@ -44,7 +43,6 @@ * action cache), such that Bazel knows exactly which actions it needs to rerun, and does not have * to reanalyze the entire dependency graph. */ -@AutoCodec public final class ActionEnvironment { /** A map of environment variables. */ @@ -163,8 +161,7 @@ private ActionEnvironment(EnvironmentVariables fixedEnv, ImmutableSet in * undefined, so callers need to take care that the key set of the {@code fixedEnv} map and the * set of {@code inheritedEnv} elements are disjoint. */ - @AutoCodec.Instantiator - public static ActionEnvironment create( + private static ActionEnvironment create( EnvironmentVariables fixedEnv, ImmutableSet inheritedEnv) { if (fixedEnv.isEmpty() && inheritedEnv.isEmpty()) { return EMPTY; diff --git a/src/main/java/com/google/devtools/build/lib/actions/BuildConfigurationEvent.java b/src/main/java/com/google/devtools/build/lib/actions/BuildConfigurationEvent.java index af4234ef5c9e3d..6ffb7662809086 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/BuildConfigurationEvent.java +++ b/src/main/java/com/google/devtools/build/lib/actions/BuildConfigurationEvent.java @@ -19,7 +19,6 @@ import com.google.devtools.build.lib.buildeventstream.BuildEventContext; import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos; import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildEventId; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Collection; import java.util.Objects; @@ -27,8 +26,7 @@ * Encapsulation of {@link BuildEvent} info associated with a {@link * com.google.devtools.build.lib.analysis.config.BuildConfigurationValue}. */ -@AutoCodec -public class BuildConfigurationEvent implements BuildEvent { +public final class BuildConfigurationEvent implements BuildEvent { private final BuildEventId eventId; private final BuildEventStreamProtos.BuildEvent eventProto; diff --git a/src/main/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplier.java b/src/main/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplier.java index c29b5c69500775..4f2d61d3617f87 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplier.java +++ b/src/main/java/com/google/devtools/build/lib/actions/CompositeRunfilesSupplier.java @@ -20,14 +20,12 @@ import com.google.common.collect.Maps; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.vfs.PathFragment; import java.util.Collection; import java.util.Map; /** A {@link RunfilesSupplier} implementation for composing multiple instances. */ -@AutoCodec -public class CompositeRunfilesSupplier implements RunfilesSupplier { +public final class CompositeRunfilesSupplier implements RunfilesSupplier { private final ImmutableList suppliers; @@ -59,9 +57,7 @@ public static RunfilesSupplier of(RunfilesSupplier supplier1, RunfilesSupplier s /** * Create an instance combining all of {@code suppliers}, with earlier elements taking precedence. */ - @AutoCodec.Instantiator - @AutoCodec.VisibleForSerialization - CompositeRunfilesSupplier(ImmutableList suppliers) { + private CompositeRunfilesSupplier(ImmutableList suppliers) { this.suppliers = suppliers; } diff --git a/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java b/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java index 44086cbe7fb81f..18228c48e5cd63 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java +++ b/src/main/java/com/google/devtools/build/lib/actions/EmptyRunfilesSupplier.java @@ -19,14 +19,15 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; -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 java.util.Map; /** Empty implementation of RunfilesSupplier */ public final class EmptyRunfilesSupplier implements RunfilesSupplier { - @AutoCodec public static final EmptyRunfilesSupplier INSTANCE = new EmptyRunfilesSupplier(); + @SerializationConstant + public static final EmptyRunfilesSupplier INSTANCE = new EmptyRunfilesSupplier(); private EmptyRunfilesSupplier() {} diff --git a/src/main/java/com/google/devtools/build/lib/actions/MiddlemanAction.java b/src/main/java/com/google/devtools/build/lib/actions/MiddlemanAction.java index e419d20890b99c..2efdd42278a7c9 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/MiddlemanAction.java +++ b/src/main/java/com/google/devtools/build/lib/actions/MiddlemanAction.java @@ -22,8 +22,6 @@ import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; 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.util.Fingerprint; import javax.annotation.Nullable; @@ -33,15 +31,12 @@ * the action graph; for example generated header files. */ @Immutable -@AutoCodec public final class MiddlemanAction extends AbstractAction { public static final String MIDDLEMAN_MNEMONIC = "Middleman"; private final String description; private final MiddlemanType middlemanType; - @VisibleForSerialization - @AutoCodec.Instantiator - MiddlemanAction( + private MiddlemanAction( ActionOwner owner, NestedSet inputs, ImmutableSet outputs, diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD index 1347fa874359b9..209ee5d923780f 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD +++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD @@ -1502,7 +1502,6 @@ java_library( deps = [ ":config/fragment", "//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/util", "//third_party:guava", diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentClassSet.java b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentClassSet.java index 325919570ffc94..2169e5a2edee62 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentClassSet.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentClassSet.java @@ -21,7 +21,6 @@ import com.google.common.collect.Interner; import com.google.common.collect.Sets; import com.google.devtools.build.lib.concurrent.BlazeInterners; -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.ClassName; import java.util.AbstractSet; @@ -35,7 +34,6 @@ * objects allows us to do cheap reference equality checks when these sets are in frequently used * keys. */ -@AutoCodec @Immutable public final class FragmentClassSet extends AbstractSet> { @@ -49,7 +47,6 @@ public final class FragmentClassSet extends AbstractSet interner = BlazeInterners.newWeakInterner(); - @AutoCodec.Instantiator public static FragmentClassSet of(Collection> fragments) { ImmutableSortedSet> sortedFragments = ImmutableSortedSet.copyOf(LEXICAL_FRAGMENT_SORTER, fragments); diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java index 70801f5975fe5d..44f7a6fd4ef97e 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java +++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java @@ -31,7 +31,6 @@ import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy; import com.google.devtools.build.lib.packages.Type.LabelClass; import com.google.devtools.build.lib.packages.Type.LabelVisitor; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -61,7 +60,6 @@ *

The way to build the Skyframe node is not here because this data needs to be accessible from * the {@code .packages} package and that one requires references to the {@code .view} package. */ -@AutoCodec @Immutable public final class AspectDefinition { private final AspectClass aspectClass; @@ -99,8 +97,7 @@ public AdvertisedProviderSet getAdvertisedProviders() { return advertisedProviders; } - @AutoCodec.VisibleForSerialization - AspectDefinition( + private AspectDefinition( AspectClass aspectClass, AdvertisedProviderSet advertisedProviders, RequiredProviders requiredProviders, diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectParameters.java b/src/main/java/com/google/devtools/build/lib/packages/AspectParameters.java index 8a6e87298feb15..9918b06aea8858 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/AspectParameters.java +++ b/src/main/java/com/google/devtools/build/lib/packages/AspectParameters.java @@ -18,14 +18,12 @@ import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Objects; /** * Objects of this class contain values of some attributes of rules. Used for passing this * information to the aspects. */ -@AutoCodec public final class AspectParameters { private final ImmutableMultimap attributes; @@ -35,9 +33,7 @@ private AspectParameters(Multimap attributes) { public static final AspectParameters EMPTY = new AspectParameters(ImmutableMultimap.of()); - @AutoCodec.Instantiator - @AutoCodec.VisibleForSerialization - static AspectParameters create(ImmutableMultimap attributes) { + private static AspectParameters create(ImmutableMultimap attributes) { if (attributes.isEmpty()) { return EMPTY; } diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java index f04475af6030af..26821b0bafecbd 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java +++ b/src/main/java/com/google/devtools/build/lib/packages/BuiltinProvider.java @@ -14,7 +14,6 @@ package com.google.devtools.build.lib.packages; 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.util.Fingerprint; import javax.annotation.Nullable; import net.starlark.java.eval.Printer; @@ -110,7 +109,6 @@ public interface WithLegacyStarlarkName { } /** A serializable reference to a {@link BuiltinProvider}. */ - @AutoCodec @Immutable public static final class Key extends Provider.Key { private final String name; diff --git a/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java b/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java index e301f4900e0546..eac8c0e71c1cae 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java +++ b/src/main/java/com/google/devtools/build/lib/packages/EnvironmentLabels.java @@ -21,7 +21,6 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -37,8 +36,7 @@ * mutability of fulfillersMap means that we must take care to wait until it is set before doing * anything with this class. */ -@AutoCodec -public class EnvironmentLabels { +public final class EnvironmentLabels { final Label label; final ImmutableSet