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(); }