Add BuildConfiguration to ConfiguredTargetAndTarget and rename it to ConfiguredTargetAndData. We want to get BuildConfiguration out of ConfiguredTarget because it uses >800K when serialized.

PiperOrigin-RevId: 188600002
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapperTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapperTest.java
index 04387b1..872fe99 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapperTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectAwareAttributeMapperTest.java
@@ -24,7 +24,7 @@
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.ConfiguredAttributeMapper;
 import com.google.devtools.build.lib.packages.Rule;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import org.junit.Before;
 import org.junit.Test;
@@ -42,7 +42,7 @@
 
   @Before
   public final void createMapper() throws Exception {
-    ConfiguredTargetAndTarget ctat =
+    ConfiguredTargetAndData ctad =
         scratchConfiguredTargetAndTarget(
             "foo",
             "myrule",
@@ -51,8 +51,8 @@
             "    srcs = [':a.cc'],",
             "    linkstatic = select({'//conditions:default': 1}))");
 
-    RuleConfiguredTarget ct = (RuleConfiguredTarget) ctat.getConfiguredTarget();
-    rule = (Rule) ctat.getTarget();
+    RuleConfiguredTarget ct = (RuleConfiguredTarget) ctad.getConfiguredTarget();
+    rule = (Rule) ctad.getTarget();
     Attribute aspectAttr = new Attribute.Builder<Label>("fromaspect", BuildType.LABEL)
         .allowedFileTypes(FileTypeSet.ANY_FILE)
         .build();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
index d6d0a96..cb4662a 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
@@ -33,7 +33,7 @@
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
 import com.google.devtools.build.lib.packages.NativeAspectClass;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import org.junit.Test;
@@ -60,7 +60,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext context, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext context, AspectParameters parameters) {
       throw new IllegalStateException();
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index a3cb103..9ec6185 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -45,7 +45,7 @@
 import com.google.devtools.build.lib.packages.Attribute.LateBoundDefault;
 import com.google.devtools.build.lib.packages.NativeAspectClass;
 import com.google.devtools.build.lib.skyframe.AspectValue;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.build.lib.vfs.ModifiedFileSet;
 import com.google.devtools.build.lib.vfs.Root;
@@ -437,7 +437,7 @@
 
       @Override
       public ConfiguredAspect create(
-          ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters)
+          ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters)
           throws InterruptedException {
         Object lateBoundPrereq = ruleContext.getPrerequisite(":late", TARGET);
         return new ConfiguredAspect.Builder(this, parameters, ruleContext)
@@ -507,7 +507,7 @@
 
       @Override
       public ConfiguredAspect create(
-          ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters)
+          ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters)
           throws InterruptedException {
         ruleContext.registerAction(new NullAction(ruleContext.createOutputArtifact()));
         return new ConfiguredAspect.Builder(this, parameters, ruleContext).build();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 11c6c92..8ffa3ce 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -44,7 +44,7 @@
 import com.google.devtools.build.lib.events.OutputFilter.RegexOutputFilter;
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.Rule;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.testutil.Suite;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.build.lib.testutil.TestSpec;
@@ -92,7 +92,7 @@
     Rule ruleTarget = (Rule) getTarget("//pkg:foo");
     assertThat(ruleTarget.getRuleClass()).isEqualTo("genrule");
 
-    ConfiguredTargetAndTarget ruleCTAT = getConfiguredTargetAndTarget("//pkg:foo");
+    ConfiguredTargetAndData ruleCTAT = getConfiguredTargetAndTarget("//pkg:foo");
 
     assertThat(ruleCTAT.getTarget()).isSameAs(ruleTarget);
   }
@@ -116,9 +116,9 @@
     //scratch.file("tests/small_test_1.py");
 
     update("//tests:smallTests");
-    ConfiguredTargetAndTarget test1 = getConfiguredTargetAndTarget("//tests:small_test_1");
-    ConfiguredTargetAndTarget test2 = getConfiguredTargetAndTarget("//tests:small_test_2");
-    ConfiguredTargetAndTarget suite = getConfiguredTargetAndTarget("//tests:smallTests");
+    ConfiguredTargetAndData test1 = getConfiguredTargetAndTarget("//tests:small_test_1");
+    ConfiguredTargetAndData test2 = getConfiguredTargetAndTarget("//tests:small_test_2");
+    ConfiguredTargetAndData suite = getConfiguredTargetAndTarget("//tests:smallTests");
 
     ConfiguredTarget test1CT = test1.getConfiguredTarget();
     ConfiguredTarget test2CT = test2.getConfiguredTarget();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/ConfigurableAttributesTest.java b/src/test/java/com/google/devtools/build/lib/analysis/ConfigurableAttributesTest.java
index 6b39969..97769f9 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/ConfigurableAttributesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/ConfigurableAttributesTest.java
@@ -29,7 +29,7 @@
 import com.google.devtools.build.lib.packages.AttributeMap;
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.NoSuchTargetException;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.syntax.Type;
 import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
 import com.google.devtools.build.lib.util.FileTypeSet;
@@ -434,7 +434,7 @@
 
     // Configuration a:
     useConfiguration("--test_arg=a");
-    ConfiguredTargetAndTarget binary = getConfiguredTargetAndTarget("//test:the_rule");
+    ConfiguredTargetAndData binary = getConfiguredTargetAndTarget("//test:the_rule");
     AttributeMap attributes = getMapperFromConfiguredTargetAndTarget(binary);
     assertThat(attributes.get("$computed_attr", Type.STRING)).isEqualTo("a2");
 
@@ -1080,8 +1080,8 @@
         "    }))");
 
     useConfiguration("--test_arg=a");
-    ConfiguredTargetAndTarget ctat = getConfiguredTargetAndTarget("//srctest:gen");
-    AttributeMap attributes = getMapperFromConfiguredTargetAndTarget(ctat);
+    ConfiguredTargetAndData ctad = getConfiguredTargetAndTarget("//srctest:gen");
+    AttributeMap attributes = getMapperFromConfiguredTargetAndTarget(ctad);
     assertThat(attributes.get("srcs", BuildType.LABEL_LIST)).isEmpty();
   }
 
@@ -1099,8 +1099,8 @@
         "    boolean_attr = 1)");
 
     useConfiguration("--test_arg=a");
-    ConfiguredTargetAndTarget ctat = getConfiguredTargetAndTarget("//foo:rule");
-    AttributeMap attributes = getMapperFromConfiguredTargetAndTarget(ctat);
+    ConfiguredTargetAndData ctad = getConfiguredTargetAndTarget("//foo:rule");
+    AttributeMap attributes = getMapperFromConfiguredTargetAndTarget(ctad);
     assertThat(attributes.get("dep", BuildType.LABEL)).isEqualTo(
         Label.parseAbsolute("//foo:default"));
   }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/ConfiguredAttributeMapperTest.java b/src/test/java/com/google/devtools/build/lib/analysis/ConfiguredAttributeMapperTest.java
index 9208bb9..10f0171 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/ConfiguredAttributeMapperTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/ConfiguredAttributeMapperTest.java
@@ -22,7 +22,7 @@
 import com.google.devtools.build.lib.packages.AttributeMap;
 import com.google.devtools.build.lib.packages.BuildType;
 import com.google.devtools.build.lib.packages.ConfiguredAttributeMapper;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.syntax.Type;
 import java.util.ArrayList;
 import java.util.List;
@@ -46,8 +46,8 @@
    * Returns a ConfiguredAttributeMapper bound to the given rule with the target configuration.
    */
   private ConfiguredAttributeMapper getMapper(String label) throws Exception {
-    ConfiguredTargetAndTarget ctat = getConfiguredTargetAndTarget(label);
-    return getMapperFromConfiguredTargetAndTarget(ctat);
+    ConfiguredTargetAndData ctad = getConfiguredTargetAndTarget(label);
+    return getMapperFromConfiguredTargetAndTarget(ctad);
   }
 
   private void writeConfigRules() throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 6e1c063..2b4cdbb 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -58,7 +58,7 @@
 import com.google.devtools.build.lib.runtime.KeepGoingOption;
 import com.google.devtools.build.lib.runtime.LoadingPhaseThreadsOption;
 import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
 import com.google.devtools.build.lib.skyframe.PrecomputedValue;
 import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
@@ -390,12 +390,12 @@
     return update(new EventBus(), defaultFlags(), aspects, labels);
   }
 
-  protected ConfiguredTargetAndTarget getConfiguredTargetAndTarget(String label)
+  protected ConfiguredTargetAndData getConfiguredTargetAndTarget(String label)
       throws InterruptedException {
     return getConfiguredTargetAndTarget(label, getTargetConfiguration());
   }
 
-  protected ConfiguredTargetAndTarget getConfiguredTargetAndTarget(
+  protected ConfiguredTargetAndData getConfiguredTargetAndTarget(
       String label, BuildConfiguration config) {
     ensureUpdateWasCalled();
     Label parsedLabel;
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index e3f69f5..a60b3ec 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -124,7 +124,7 @@
 import com.google.devtools.build.lib.skyframe.AspectValue;
 import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants;
 import com.google.devtools.build.lib.skyframe.BuildConfigurationValue;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
 import com.google.devtools.build.lib.skyframe.DiffAwareness;
 import com.google.devtools.build.lib.skyframe.LegacyLoadingPhaseRunner;
@@ -744,20 +744,19 @@
   }
 
   /**
-   * Returns a ConfiguredTargetAndTarget for the specified label, using the given build
-   * configuration.
+   * Returns a ConfiguredTargetAndData for the specified label, using the given build configuration.
    */
-  protected ConfiguredTargetAndTarget getConfiguredTargetAndTarget(
+  protected ConfiguredTargetAndData getConfiguredTargetAndTarget(
       Label label, BuildConfiguration config) {
     return view.getConfiguredTargetAndTargetForTesting(reporter, label, config);
   }
 
   /**
-   * Returns the ConfiguredTargetAndTarget for the specified label. If the label corresponds to a
+   * Returns the ConfiguredTargetAndData for the specified label. If the label corresponds to a
    * target with a top-level configuration transition, that transition is applied to the given
-   * config in the ConfiguredTargetAndTarget's ConfiguredTarget.
+   * config in the ConfiguredTargetAndData's ConfiguredTarget.
    */
-  public ConfiguredTargetAndTarget getConfiguredTargetAndTarget(String label)
+  public ConfiguredTargetAndData getConfiguredTargetAndTarget(String label)
       throws LabelSyntaxException {
     return getConfiguredTargetAndTarget(Label.parseAbsolute(label), targetConfig);
   }
@@ -836,9 +835,9 @@
   protected ConfiguredTarget scratchConfiguredTarget(
       String packageName, String ruleName, BuildConfiguration config, String... lines)
       throws IOException, Exception {
-    ConfiguredTargetAndTarget ctat =
+    ConfiguredTargetAndData ctad =
         scratchConfiguredTargetAndTarget(packageName, ruleName, config, lines);
-    return ctat == null ? null : ctat.getConfiguredTarget();
+    return ctad == null ? null : ctad.getConfiguredTarget();
   }
 
   /**
@@ -850,7 +849,7 @@
    * @return the configured tatarget and target instance for the created rule.
    * @throws Exception
    */
-  protected ConfiguredTargetAndTarget scratchConfiguredTargetAndTarget(
+  protected ConfiguredTargetAndData scratchConfiguredTargetAndTarget(
       String packageName, String rulename, String... lines) throws Exception {
     return scratchConfiguredTargetAndTarget(packageName, rulename, targetConfig, lines);
   }
@@ -862,11 +861,11 @@
    * @param ruleName the name of the rule.
    * @param config the configuration to use to construct the configured rule.
    * @param lines the text of the rule.
-   * @return the ConfiguredTargetAndTarget instance for the created rule.
+   * @return the ConfiguredTargetAndData instance for the created rule.
    * @throws IOException
    * @throws Exception
    */
-  protected ConfiguredTargetAndTarget scratchConfiguredTargetAndTarget(
+  protected ConfiguredTargetAndData scratchConfiguredTargetAndTarget(
       String packageName, String ruleName, BuildConfiguration config, String... lines)
       throws Exception {
     Target rule = scratchRule(packageName, ruleName, lines);
@@ -1344,10 +1343,10 @@
   }
 
   protected static ConfiguredAttributeMapper getMapperFromConfiguredTargetAndTarget(
-      ConfiguredTargetAndTarget ctat) {
+      ConfiguredTargetAndData ctad) {
     return ConfiguredAttributeMapper.of(
-        (Rule) ctat.getTarget(),
-        ((RuleConfiguredTarget) ctat.getConfiguredTarget()).getConfigConditions());
+        (Rule) ctad.getTarget(),
+        ((RuleConfiguredTarget) ctad.getConfiguredTarget()).getConfigConditions());
   }
 
   public static Label makeLabel(String label) {
@@ -1580,13 +1579,13 @@
    * Returns an attribute value retriever for the given rule for the target configuration.
    */
   protected AttributeMap attributes(RuleConfiguredTarget ct) {
-    ConfiguredTargetAndTarget ctat;
+    ConfiguredTargetAndData ctad;
     try {
-      ctat = getConfiguredTargetAndTarget(ct.getLabel().toString());
+      ctad = getConfiguredTargetAndTarget(ct.getLabel().toString());
     } catch (LabelSyntaxException e) {
       throw new RuntimeException(e);
     }
-    return getMapperFromConfiguredTargetAndTarget(ctat);
+    return getMapperFromConfiguredTargetAndTarget(ctad);
   }
 
   protected AttributeMap attributes(ConfiguredTarget rule) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
index 1f27af4..cebf5db 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
@@ -50,7 +50,7 @@
 import com.google.devtools.build.lib.packages.Rule;
 import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
 import com.google.devtools.build.lib.rules.java.JavaConfiguration;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndTarget;
+import com.google.devtools.build.lib.skyframe.ConfiguredTargetAndData;
 import com.google.devtools.build.lib.syntax.Type;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import java.util.List;
@@ -228,7 +228,7 @@
     implements ConfiguredAspectFactory {
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
       String information = parameters.isEmpty()
           ? ""
           : " data " + Iterables.getFirst(parameters.getAttribute("baz"), null);
@@ -274,7 +274,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
       return new ConfiguredAspect.Builder(this, parameters, ruleContext)
           .addProvider(new FooProvider())
           .build();
@@ -293,7 +293,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
       return new ConfiguredAspect.Builder(this, parameters, ruleContext)
           .addProvider(new BarProvider())
           .build();
@@ -428,7 +428,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
       StringBuilder information = new StringBuilder("aspect " + ruleContext.getLabel());
       if (!parameters.isEmpty()) {
         information.append(" data " + Iterables.getFirst(parameters.getAttribute("baz"), null));
@@ -475,8 +475,8 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
-      ruleContext.ruleWarning("Aspect warning on " + ctatBase.getTarget().getLabel());
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
+      ruleContext.ruleWarning("Aspect warning on " + ctadBase.getTarget().getLabel());
       return new ConfiguredAspect.Builder(this, parameters, ruleContext).build();
     }
 
@@ -500,7 +500,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext ruleContext, AspectParameters parameters) {
+        ConfiguredTargetAndData ctadBase, RuleContext ruleContext, AspectParameters parameters) {
       ruleContext.ruleError("Aspect error");
       return null;
     }
@@ -530,7 +530,7 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext context, AspectParameters parameters)
+        ConfiguredTargetAndData ctadBase, RuleContext context, AspectParameters parameters)
         throws InterruptedException {
       return new ConfiguredAspect.Builder(this, parameters, context).build();
     }
@@ -776,10 +776,10 @@
 
     @Override
     public ConfiguredAspect create(
-        ConfiguredTargetAndTarget ctatBase, RuleContext context, AspectParameters parameters)
+        ConfiguredTargetAndData ctadBase, RuleContext context, AspectParameters parameters)
         throws InterruptedException {
       return ConfiguredAspect.builder(this, parameters, context)
-          .addProvider(Provider.class, new Provider(ctatBase.getConfiguredTarget().getLabel()))
+          .addProvider(Provider.class, new Provider(ctadBase.getConfiguredTarget().getLabel()))
           .build();
     }
   }