Remove TargetAndConfiguration.getConfiguredTargetKey.

This method is lossy: if the original CTK set the ToolchainContextKey, it is lost when this method is called.

Callers that are operating on top-level targets that cannot possibly have a ToolchainContextKey now have their own versions.

In general, TargetAndConfiguration is terrible and we should remove it.

PiperOrigin-RevId: 397056801
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 ddaad42..0f4858a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -1041,7 +1041,6 @@
         "//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/packages",
-        "//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key",
         "//third_party:guava",
         "//third_party:jsr305",
     ],
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index f835927..77ef4d4 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -271,7 +271,7 @@
 
     List<ConfiguredTargetKey> topLevelCtKeys =
         topLevelTargetsWithConfigs.stream()
-            .map(TargetAndConfiguration::getConfiguredTargetKey)
+            .map(BuildView::getConfiguredTargetKey)
             .collect(Collectors.toList());
 
     ImmutableList.Builder<AspectClass> aspectClassesBuilder = ImmutableList.builder();
@@ -439,6 +439,14 @@
     return result;
   }
 
+  private static ConfiguredTargetKey getConfiguredTargetKey(
+      TargetAndConfiguration targetAndConfiguration) {
+    return ConfiguredTargetKey.builder()
+        .setLabel(targetAndConfiguration.getLabel())
+        .setConfiguration(targetAndConfiguration.getConfiguration())
+        .build();
+  }
+
   private AnalysisResult createResult(
       ExtendedEventHandler eventHandler,
       EventBus eventBus,
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetAndConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetAndConfiguration.java
index 4e685e2..ac3d6fa 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetAndConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetAndConfiguration.java
@@ -18,7 +18,6 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.packages.Target;
-import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey;
 import java.util.Objects;
 import javax.annotation.Nullable;
 
@@ -79,11 +78,4 @@
   public BuildConfiguration getConfiguration() {
     return configuration;
   }
-
-  public ConfiguredTargetKey getConfiguredTargetKey() {
-    return ConfiguredTargetKey.builder()
-        .setLabel(getLabel())
-        .setConfiguration(getConfiguration())
-        .build();
-  }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index f867f7e..3a6fac2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -369,6 +369,7 @@
               view,
               env,
               ctgValue,
+              configuredTargetKey,
               depValueMap,
               configConditions,
               toolchainContexts,
@@ -960,6 +961,7 @@
       SkyframeBuildView view,
       Environment env,
       TargetAndConfiguration ctgValue,
+      ConfiguredTargetKey configuredTargetKey,
       OrderedSetMultimap<DependencyKind, ConfiguredTargetAndData> depValueMap,
       ConfigConditions configConditions,
       @Nullable ToolchainCollection<ResolvedToolchainContext> toolchainContexts,
@@ -968,7 +970,6 @@
       throws ConfiguredValueCreationException, InterruptedException {
     Target target = ctgValue.getTarget();
     BuildConfiguration configuration = ctgValue.getConfiguration();
-    ConfiguredTargetKey configuredTargetKey = ctgValue.getConfiguredTargetKey();
 
     // Should be successfully evaluated and cached from the loading phase.
     StarlarkBuiltinsValue starlarkBuiltinsValue =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java
index 76066e1..b5afe28 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareAnalysisPhaseFunction.java
@@ -173,12 +173,20 @@
     }
     ImmutableList<ConfiguredTargetKey> topLevelCtKeys =
         topLevelTargetsWithConfigs.stream()
-            .map(TargetAndConfiguration::getConfiguredTargetKey)
+            .map(PrepareAnalysisPhaseFunction::getConfiguredTargetKey)
             .collect(ImmutableList.toImmutableList());
     return new PrepareAnalysisPhaseValue(
         hostConfigurationKey, targetConfigurationKeys, topLevelCtKeys);
   }
 
+  private static ConfiguredTargetKey getConfiguredTargetKey(
+      TargetAndConfiguration targetAndConfiguration) {
+    return ConfiguredTargetKey.builder()
+        .setLabel(targetAndConfiguration.getLabel())
+        .setConfiguration(targetAndConfiguration.getConfiguration())
+        .build();
+  }
+
   /**
    * Returns the {@link BuildOptions} to apply to the top-level build configurations. This can be
    * plural because of {@code multiCpu}.