Replace some #getConfiguration calls coming from a TransitiveInfoCollection that was obtained from a ConfiguredTargetAndData object anyway.
PiperOrigin-RevId: 188621245
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 394f572..ab0bb5e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -885,13 +885,11 @@
public <C extends Info>
ImmutableListMultimap<BuildConfiguration, C> getPrerequisitesByConfiguration(
String attributeName, Mode mode, final NativeProvider<C> provider) {
- List<? extends TransitiveInfoCollection> transitiveInfoCollections =
- getPrerequisites(attributeName, mode);
-
ImmutableListMultimap.Builder<BuildConfiguration, C> result =
ImmutableListMultimap.builder();
- for (TransitiveInfoCollection prerequisite : transitiveInfoCollections) {
- C prerequisiteProvider = prerequisite.get(provider);
+ for (ConfiguredTargetAndData prerequisite :
+ getPrerequisiteConfiguredTargetAndTargets(attributeName, mode)) {
+ C prerequisiteProvider = prerequisite.getConfiguredTarget().get(provider);
if (prerequisiteProvider != null) {
result.put(prerequisite.getConfiguration(), prerequisiteProvider);
}
@@ -906,13 +904,11 @@
*/
public ImmutableListMultimap<BuildConfiguration, TransitiveInfoCollection>
getPrerequisitesByConfiguration(String attributeName, Mode mode) {
- List<? extends TransitiveInfoCollection> transitiveInfoCollections =
- getPrerequisites(attributeName, mode);
-
ImmutableListMultimap.Builder<BuildConfiguration, TransitiveInfoCollection> result =
ImmutableListMultimap.builder();
- for (TransitiveInfoCollection prerequisite : transitiveInfoCollections) {
- result.put(prerequisite.getConfiguration(), prerequisite);
+ for (ConfiguredTargetAndData prerequisite :
+ getPrerequisiteConfiguredTargetAndTargets(attributeName, mode)) {
+ result.put(prerequisite.getConfiguration(), prerequisite.getConfiguredTarget());
}
return result.build();
}