aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
index 116d186c39..d58f350594 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
@@ -18,8 +18,11 @@ import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Interner;
+import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.Actions.GeneratingActions;
+import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.BasicActionLookupValue;
import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
@@ -37,11 +40,11 @@ import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey.KeyAndHost;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.syntax.SkylarkImport;
import com.google.devtools.build.skyframe.SkyFunctionName;
+import java.util.ArrayList;
import javax.annotation.Nullable;
-/**
- * An aspect in the context of the Skyframe graph.
- */
+/** An aspect in the context of the Skyframe graph. */
+@AutoCodec
public final class AspectValue extends BasicActionLookupValue {
/**
@@ -432,6 +435,25 @@ public final class AspectValue extends BasicActionLookupValue {
// May be null either after clearing or because transitive packages are not tracked.
@Nullable private NestedSet<Package> transitivePackagesForPackageRootResolution;
+ @AutoCodec.Instantiator
+ @AutoCodec.VisibleForSerialization
+ AspectValue(
+ AspectKey key,
+ Aspect aspect,
+ Label label,
+ Location location,
+ ConfiguredAspect configuredAspect,
+ ArrayList<ActionAnalysisMetadata> actions,
+ ImmutableMap<Artifact, Integer> generatingActionIndex) {
+ super(actions, generatingActionIndex, /*removeActionsAfterEvaluation=*/ false);
+ this.label = Preconditions.checkNotNull(label, actions);
+ this.aspect = Preconditions.checkNotNull(aspect, label);
+ this.location = Preconditions.checkNotNull(location, label);
+ this.key = Preconditions.checkNotNull(key, label);
+ this.configuredAspect = Preconditions.checkNotNull(configuredAspect, label);
+ this.transitivePackagesForPackageRootResolution = null;
+ }
+
public AspectValue(
AspectKey key,
Aspect aspect,