diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java index 8ce974dec236e9..61daebdd39c757 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java @@ -262,7 +262,11 @@ public final OrderedSetMultimap dependentNodeMap( BuildConfiguration config = node.getConfiguration(); OrderedSetMultimap outgoingLabels = OrderedSetMultimap.create(); - // TODO(bazel-team): Figure out a way to implement the below using LabelVisitationUtils. + // TODO(bazel-team): Figure out a way to implement the below (and partiallyResolveDependencies) + // using + // LabelVisitationUtils. + Rule fromRule = null; + ConfiguredAttributeMapper attributeMap = null; if (target instanceof OutputFile) { Preconditions.checkNotNull(config); visitTargetVisibility(node, outgoingLabels); @@ -273,17 +277,15 @@ public final OrderedSetMultimap dependentNodeMap( } else if (target instanceof EnvironmentGroup) { visitTargetVisibility(node, outgoingLabels); } else if (target instanceof Rule) { - visitRule(node, hostConfig, aspects, configConditions, toolchainContext, outgoingLabels); + fromRule = (Rule) target; + attributeMap = ConfiguredAttributeMapper.of(fromRule, configConditions); + visitRule(node, hostConfig, aspects, attributeMap, toolchainContext, outgoingLabels); } else if (target instanceof PackageGroup) { outgoingLabels.putAll(VISIBILITY_DEPENDENCY, ((PackageGroup) target).getIncludes()); } else { throw new IllegalStateException(target.getLabel().toString()); } - Rule fromRule = target instanceof Rule ? (Rule) target : null; - ConfiguredAttributeMapper attributeMap = - fromRule == null ? null : ConfiguredAttributeMapper.of(fromRule, configConditions); - Map targetMap = getTargets(outgoingLabels, target, rootCauses); if (targetMap == null) { // Dependencies could not be resolved. Try again when they are loaded by Skyframe. @@ -312,7 +314,7 @@ public final OrderedSetMultimap dependentNodeMap( private OrderedSetMultimap partiallyResolveDependencies( OrderedSetMultimap outgoingLabels, - Rule fromRule, + @Nullable Rule fromRule, ConfiguredAttributeMapper attributeMap, @Nullable ToolchainContext toolchainContext, Iterable aspects) { @@ -423,7 +425,7 @@ private void visitRule( TargetAndConfiguration node, BuildConfiguration hostConfig, Iterable aspects, - ImmutableMap configConditions, + ConfiguredAttributeMapper attributeMap, @Nullable ToolchainContext toolchainContext, OrderedSetMultimap outgoingLabels) throws EvalException { @@ -431,7 +433,6 @@ private void visitRule( BuildConfiguration ruleConfig = Preconditions.checkNotNull(node.getConfiguration(), node); Rule rule = (Rule) node.getTarget(); - ConfiguredAttributeMapper attributeMap = ConfiguredAttributeMapper.of(rule, configConditions); attributeMap.validateAttributes(); visitTargetVisibility(node, outgoingLabels);