diff options
17 files changed, 59 insertions, 167 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java b/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java index bbc34931b9..510b0b1f5f 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionLookupValue.java @@ -22,7 +22,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import java.util.ArrayList; @@ -37,7 +36,7 @@ import javax.annotation.Nullable; */ public class ActionLookupValue implements SkyValue { protected final List<ActionAnalysisMetadata> actions; - @VisibleForSerialization protected final ImmutableMap<Artifact, Integer> generatingActionIndex; + private final ImmutableMap<Artifact, Integer> generatingActionIndex; protected ActionLookupValue( ActionAnalysisMetadata action, @@ -48,17 +47,12 @@ public class ActionLookupValue implements SkyValue { @VisibleForTesting public ActionLookupValue( Actions.GeneratingActions generatingActions, boolean removeActionsAfterEvaluation) { - this( - removeActionsAfterEvaluation - ? new ArrayList<>(generatingActions.getActions()) - : ImmutableList.copyOf(generatingActions.getActions()), - generatingActions.getGeneratingActionIndex()); - } - - protected ActionLookupValue( - List<ActionAnalysisMetadata> actions, ImmutableMap<Artifact, Integer> generatingActionIndex) { - this.actions = actions; - this.generatingActionIndex = generatingActionIndex; + if (removeActionsAfterEvaluation) { + this.actions = new ArrayList<>(generatingActions.getActions()); + } else { + this.actions = ImmutableList.copyOf(generatingActions.getActions()); + } + this.generatingActionIndex = generatingActions.getGeneratingActionIndex(); } /** diff --git a/src/main/java/com/google/devtools/build/lib/actions/FailAction.java b/src/main/java/com/google/devtools/build/lib/actions/FailAction.java index eccc4ee2d8..a61d2b2f50 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/FailAction.java +++ b/src/main/java/com/google/devtools/build/lib/actions/FailAction.java @@ -16,14 +16,12 @@ package com.google.devtools.build.lib.actions; import com.google.common.collect.ImmutableList; 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; /** - * FailAction is an Action that always fails to execute. (Used as scaffolding for rules we haven't - * yet implemented. Also useful for testing.) + * FailAction is an Action that always fails to execute. (Used as scaffolding + * for rules we haven't yet implemented. Also useful for testing.) */ -@AutoCodec @Immutable public final class FailAction extends AbstractAction { diff --git a/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java b/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java index a2ba6867df..2fc824a10f 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java @@ -24,8 +24,6 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.EventHandler; -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 com.google.devtools.build.lib.vfs.PathFragment; import java.io.BufferedWriter; @@ -42,15 +40,15 @@ import java.util.Map; import javax.annotation.Nullable; /** - * Action to create a manifest of input files for processing by a subsequent build step (e.g. - * runfiles symlinking or archive building). + * Action to create a manifest of input files for processing by a subsequent + * build step (e.g. runfiles symlinking or archive building). * - * <p>The manifest's format is specifiable by {@link ManifestType}, in accordance with the needs of - * the calling functionality. + * <p>The manifest's format is specifiable by {@link ManifestType}, in + * accordance with the needs of the calling functionality. * - * <p>Note that this action carefully avoids building the manifest content in memory. + * <p>Note that this action carefully avoids building the manifest content in + * memory. */ -@AutoCodec @Immutable // if all ManifestWriter implementations are immutable public final class SourceManifestAction extends AbstractFileWriteAction { @@ -95,18 +93,17 @@ public final class SourceManifestAction extends AbstractFileWriteAction { private final Runfiles runfiles; /** - * Creates a new AbstractSourceManifestAction instance using latin1 encoding to write the manifest - * file and with a specified root path for manifest entries. + * Creates a new AbstractSourceManifestAction instance using latin1 encoding + * to write the manifest file and with a specified root path for manifest entries. * * @param manifestWriter the strategy to use to write manifest entries * @param owner the action owner - * @param primaryOutput the file to which to write the manifest + * @param output the file to which to write the manifest * @param runfiles runfiles */ - @VisibleForSerialization - SourceManifestAction( - ManifestWriter manifestWriter, ActionOwner owner, Artifact primaryOutput, Runfiles runfiles) { - super(owner, getDependencies(runfiles), primaryOutput, false); + private SourceManifestAction(ManifestWriter manifestWriter, ActionOwner owner, Artifact output, + Runfiles runfiles) { + super(owner, getDependencies(runfiles), output, false); this.manifestWriter = manifestWriter; this.runfiles = runfiles; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java index 13b7aaaead..d0aba38bdc 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java @@ -76,10 +76,7 @@ public class SymlinkAction extends AbstractAction { Artifact primaryInput, Artifact primaryOutput, String progressMessage) { - super( - owner, - primaryInput != null ? ImmutableList.of(primaryInput) : Artifact.NO_ARTIFACTS, - ImmutableList.of(primaryOutput)); + super(owner, ImmutableList.of(primaryInput), ImmutableList.of(primaryOutput)); this.inputPath = inputPath; this.progressMessage = progressMessage; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java index 770fee7edd..372ec570e1 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/RuleConfiguredTarget.java @@ -41,7 +41,6 @@ import com.google.devtools.build.lib.packages.OutputFile; import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents; import com.google.devtools.build.lib.packages.Provider; import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; @@ -56,7 +55,6 @@ import javax.annotation.Nullable; * analyzed rule. For more information about how analysis works, see {@link * com.google.devtools.build.lib.analysis.RuleConfiguredTargetFactory}. */ -@AutoCodec public final class RuleConfiguredTarget extends AbstractConfiguredTarget { /** * The configuration transition for an attribute through which a prerequisite diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentCollection.java index c1ce9f0a1a..7dc850e254 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentCollection.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/EnvironmentCollection.java @@ -21,18 +21,16 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.packages.EnvironmentLabels; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; import java.util.Map; -/** Contains a set of {@link Environment} labels and their associated groups. */ -@AutoCodec +/** + * Contains a set of {@link Environment} labels and their associated groups. + */ @Immutable public class EnvironmentCollection { private final ImmutableMultimap<EnvironmentLabels, Label> map; - @VisibleForSerialization - EnvironmentCollection(ImmutableMultimap<EnvironmentLabels, Label> map) { + private EnvironmentCollection(ImmutableMultimap<EnvironmentLabels, Label> map) { this.map = map; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/SupportedEnvironments.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/SupportedEnvironments.java index c1eaac7419..1b89bda6ba 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/SupportedEnvironments.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/SupportedEnvironments.java @@ -17,11 +17,11 @@ package com.google.devtools.build.lib.analysis.constraints; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.LabelAndLocation; import com.google.devtools.build.lib.cmdline.Label; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Map; -/** Standard {@link SupportedEnvironmentsProvider} implementation. */ -@AutoCodec +/** + * Standard {@link SupportedEnvironmentsProvider} implementation. + */ public class SupportedEnvironments implements SupportedEnvironmentsProvider { private final EnvironmentCollection staticEnvironments; private final EnvironmentCollection refinedEnvironments; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraActionInfoFileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraActionInfoFileWriteAction.java index 4b2ef4bacb..d2f080ee2a 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraActionInfoFileWriteAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraActionInfoFileWriteAction.java @@ -26,7 +26,6 @@ import com.google.devtools.build.lib.actions.UserExecException; import com.google.devtools.build.lib.analysis.actions.AbstractFileWriteAction; import com.google.devtools.build.lib.analysis.actions.ProtoDeterministicWriter; 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 java.io.IOException; @@ -35,17 +34,17 @@ import java.io.IOException; * .xa file for use by an extra action. This can only be done at execution time because actions may * store information only known at execution time into the protocol buffer. */ -@AutoCodec @Immutable // if shadowedAction is immutable public final class ExtraActionInfoFileWriteAction extends AbstractFileWriteAction { private static final String UUID = "1759f81d-e72e-477d-b182-c4532bdbaeeb"; private final Action shadowedAction; - ExtraActionInfoFileWriteAction(ActionOwner owner, Artifact primaryOutput, Action shadowedAction) { - super(owner, ImmutableList.<Artifact>of(), primaryOutput, false); + ExtraActionInfoFileWriteAction(ActionOwner owner, Artifact extraActionInfoFile, + Action shadowedAction) { + super(owner, ImmutableList.<Artifact>of(), extraActionInfoFile, false); - this.shadowedAction = Preconditions.checkNotNull(shadowedAction, primaryOutput); + this.shadowedAction = Preconditions.checkNotNull(shadowedAction, extraActionInfoFile); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java index f6601af480..0768a8b624 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java @@ -21,7 +21,6 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; import com.google.devtools.build.lib.syntax.EvalException; @@ -39,7 +38,6 @@ import java.util.Map; doc = "Provides access to data about a specific toolchain.", category = SkylarkModuleCategory.PROVIDER ) -@AutoCodec @Immutable public class ToolchainInfo extends NativeInfo { @@ -59,7 +57,6 @@ public class ToolchainInfo extends NativeInfo { /*types=*/ ImmutableList.<SkylarkType>of(SkylarkType.DICT)); /** Skylark constructor and identifier for this provider. */ - @AutoCodec public static final NativeProvider<ToolchainInfo> PROVIDER = new NativeProvider<ToolchainInfo>(ToolchainInfo.class, SKYLARK_NAME, SIGNATURE) { @Override @@ -71,9 +68,8 @@ public class ToolchainInfo extends NativeInfo { } }; - @AutoCodec.Instantiator - public ToolchainInfo(Map<String, Object> values, Location location) { - super(PROVIDER, ImmutableMap.copyOf(values), location); + public ToolchainInfo(Map<String, Object> toolchainData, Location loc) { + super(PROVIDER, ImmutableMap.copyOf(toolchainData), loc); } public static ToolchainInfo create(Map<String, Object> toolchainData) { diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/BaselineCoverageAction.java b/src/main/java/com/google/devtools/build/lib/analysis/test/BaselineCoverageAction.java index 9066595769..b400440ca0 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/BaselineCoverageAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/BaselineCoverageAction.java @@ -30,8 +30,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.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 com.google.devtools.build.lib.vfs.PathFragment; import java.io.IOException; @@ -40,18 +38,18 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; -/** Generates baseline (empty) coverage for the given non-test target. */ +/** + * Generates baseline (empty) coverage for the given non-test target. + */ @VisibleForTesting -@AutoCodec @Immutable public final class BaselineCoverageAction extends AbstractFileWriteAction implements NotifyOnActionCacheHit { private final NestedSet<Artifact> instrumentedFiles; - @VisibleForSerialization - BaselineCoverageAction( - ActionOwner owner, NestedSet<Artifact> instrumentedFiles, Artifact primaryOutput) { - super(owner, ImmutableList.<Artifact>of(), primaryOutput, false); + private BaselineCoverageAction( + ActionOwner owner, NestedSet<Artifact> instrumentedFiles, Artifact output) { + super(owner, ImmutableList.<Artifact>of(), output, false); this.instrumentedFiles = instrumentedFiles; } diff --git a/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java b/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java index 3aae40312f..30b7ae8abf 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java +++ b/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java @@ -16,8 +16,6 @@ package com.google.devtools.build.lib.packages; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -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.syntax.EvalException; import com.google.devtools.build.lib.syntax.FunctionSignature; import com.google.devtools.build.lib.syntax.SkylarkType; @@ -110,14 +108,12 @@ public abstract class NativeProvider<V extends Info> extends Provider { this(clazz, name, SIGNATURE); } - @SuppressWarnings("unchecked") protected NativeProvider( Class<V> valueClass, String name, FunctionSignature.WithValues<Object, SkylarkType> signature) { super(name, signature, Location.BUILTIN); - Class<? extends NativeProvider<?>> clazz = (Class<? extends NativeProvider<?>>) getClass(); - key = new NativeKey(name, clazz); + key = new NativeKey(name, getClass()); this.valueClass = valueClass; errorMessageFormatForUnknownField = String.format("'%s' object has no attribute '%%s'", name); } @@ -174,12 +170,10 @@ public abstract class NativeProvider<V extends Info> extends Provider { return Pair.of(key.name, key.aClass.getName()); } - @SuppressWarnings("unchecked") public static NativeKey getNativeKeyFromSerializedRepresentation(Pair<String, String> serialized) throws ClassNotFoundException { - Class<? extends NativeProvider<?>> aClass = - (Class<? extends NativeProvider<?>>) - Class.forName(serialized.second).asSubclass(NativeProvider.class); + Class<? extends NativeProvider> aClass = + Class.forName(serialized.second).asSubclass(NativeProvider.class); return new NativeKey(serialized.first, aClass); } @@ -188,14 +182,12 @@ public abstract class NativeProvider<V extends Info> extends Provider { * * <p>Just a wrapper around its class. */ - @AutoCodec @Immutable public static final class NativeKey extends Key { private final String name; - private final Class<? extends NativeProvider<?>> aClass; + private final Class<? extends NativeProvider> aClass; - @VisibleForSerialization - NativeKey(String name, Class<? extends NativeProvider<?>> aClass) { + private NativeKey(String name, Class<? extends NativeProvider> aClass) { this.name = name; this.aClass = aClass; } diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java index 41558655f3..d591aa2dc1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java @@ -27,8 +27,6 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.Info; import com.google.devtools.build.lib.packages.Provider; -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.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.syntax.ClassObject; import com.google.devtools.build.lib.syntax.EvalException; @@ -41,7 +39,6 @@ import javax.annotation.Nullable; * * <p>Transitive info providers can also be overridden. */ -@AutoCodec @Immutable public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObject { private final Label label; @@ -54,24 +51,10 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec RuleContext ruleContext, ConfiguredTarget actual, ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) { - this( - ruleContext.getLabel(), - Preconditions.checkNotNull(ruleContext.getConfiguration()), - Preconditions.checkNotNull(actual), - Preconditions.checkNotNull(overrides)); - } - - @AutoCodec.Instantiator - @VisibleForSerialization - AliasConfiguredTarget( - Label label, - BuildConfiguration configuration, - ConfiguredTarget actual, - ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) { - this.label = label; - this.configuration = configuration; - this.actual = actual; - this.overrides = overrides; + this.label = ruleContext.getLabel(); + this.configuration = Preconditions.checkNotNull(ruleContext.getConfiguration()); + this.actual = Preconditions.checkNotNull(actual); + this.overrides = Preconditions.checkNotNull(overrides); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java index a842b86be9..731357c4cd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkParams.java @@ -47,17 +47,15 @@ public final class CcLinkParams { /** * A list of link options contributed by a single configured target. * - * <p><b>WARNING:</b> Do not implement {@code #equals()} in the obvious way. This class must be + * <b>WARNING:</b> Do not implement {@code #equals()} in the obvious way. This class must be * checked for equality by object identity because otherwise if two configured targets contribute * the same link options, they will be de-duplicated, which is not the desirable behavior. */ - @AutoCodec @Immutable public static final class LinkOptions { private final ImmutableList<String> linkOptions; - @VisibleForSerialization - LinkOptions(Iterable<String> linkOptions) { + private LinkOptions(Iterable<String> linkOptions) { this.linkOptions = ImmutableList.copyOf(linkOptions); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java index 95a5a9436a..4c327cb993 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkylarkApiProvider.java @@ -19,7 +19,6 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.skylark.SkylarkApiProvider; 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.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; @@ -37,7 +36,6 @@ import com.google.devtools.build.lib.vfs.PathFragment; + "Every C++-related target provides this struct, accessible as a <code>cc</code> field " + "on <a href=\"Target.html\">target</a>." ) -@AutoCodec public final class CcSkylarkApiProvider extends SkylarkApiProvider { /** The name of the field in Skylark used to access this class. */ public static final String NAME = "cc"; diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java index 341da8a6ec..fc4ebd6727 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java @@ -16,11 +16,9 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; import com.google.devtools.build.lib.actions.ActionLookupValue; import com.google.devtools.build.lib.actions.Actions.GeneratingActions; -import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.cmdline.Label; @@ -28,18 +26,18 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe; import com.google.devtools.build.lib.packages.Package; -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.skyframe.SkyKey; import java.util.List; import javax.annotation.Nullable; -/** A configured target in the context of a Skyframe graph. */ -@AutoCodec +/** + * A configured target in the context of a Skyframe graph. + */ @Immutable @ThreadSafe @VisibleForTesting public final class ConfiguredTargetValue extends ActionLookupValue { + // These variables are only non-final because they may be clear()ed to save memory. // configuredTarget is null only after it is cleared. @Nullable private ConfiguredTarget configuredTarget; @@ -47,18 +45,6 @@ public final class ConfiguredTargetValue extends ActionLookupValue { // May be null either after clearing or because transitive packages are not tracked. @Nullable private NestedSet<Package> transitivePackagesForPackageRootResolution; - @AutoCodec.Instantiator - @VisibleForSerialization - ConfiguredTargetValue( - List<ActionAnalysisMetadata> actions, - ImmutableMap<Artifact, Integer> generatingActionIndex, - ConfiguredTarget configuredTarget, - NestedSet<Package> transitivePackagesForPackageRootResolution) { - super(actions, generatingActionIndex); - this.configuredTarget = configuredTarget; - this.transitivePackagesForPackageRootResolution = transitivePackagesForPackageRootResolution; - } - ConfiguredTargetValue( ConfiguredTarget configuredTarget, GeneratingActions generatingActions, diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BooleanCodec.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BooleanCodec.java deleted file mode 100644 index c30b69d2ef..0000000000 --- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BooleanCodec.java +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2018 The Bazel Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.google.devtools.build.lib.skyframe.serialization; - -import com.google.protobuf.CodedInputStream; -import com.google.protobuf.CodedOutputStream; -import java.io.IOException; - -/** Codec for {@link Boolean}. */ -class BooleanCodec implements ObjectCodec<Boolean> { - - @Override - public Class<Boolean> getEncodedClass() { - return Boolean.class; - } - - @Override - public void serialize(SerializationContext context, Boolean value, CodedOutputStream codedOut) - throws IOException { - codedOut.writeBoolNoTag(value); - } - - @Override - public Boolean deserialize(DeserializationContext context, CodedInputStream codedIn) - throws IOException { - return codedIn.readBool(); - } -} diff --git a/src/main/java/com/google/devtools/build/lib/util/Pair.java b/src/main/java/com/google/devtools/build/lib/util/Pair.java index a4ac5b8d77..943f8c97f2 100644 --- a/src/main/java/com/google/devtools/build/lib/util/Pair.java +++ b/src/main/java/com/google/devtools/build/lib/util/Pair.java @@ -13,12 +13,12 @@ // limitations under the License. package com.google.devtools.build.lib.util; -import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.Objects; import javax.annotation.Nullable; -/** An immutable, semantic-free ordered pair of nullable values. Avoid using it in public APIs. */ -@AutoCodec +/** + * An immutable, semantic-free ordered pair of nullable values. Avoid using it in public APIs. + */ public final class Pair<A, B> { /** |