diff options
author | 2017-07-19 13:48:53 +0200 | |
---|---|---|
committer | 2017-07-19 16:49:15 +0200 | |
commit | fbc3474575d0220e540db356a434ba22c52db907 (patch) | |
tree | e1a32b039b295d1c01e04225443f278c0dd7f51f /src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java | |
parent | 58e9629b06269dc9b1ba340318ae71c5beee5077 (diff) |
Remove TransitiveTargetValue.transitive{S,Uns}uccessfulPkgs
It was only used by GenQuery, for which we can use getTransitiveRootCauses()
and getTransitiveTargets() instead.
PiperOrigin-RevId: 162471592
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java index 23d22b41e7..3f8a001961 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetFunction.java @@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration.Fragment import com.google.devtools.build.lib.analysis.config.ConfigurationFragmentFactory; import com.google.devtools.build.lib.analysis.config.FragmentOptions; import com.google.devtools.build.lib.cmdline.Label; -import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.events.Event; @@ -144,10 +143,6 @@ public class TransitiveTargetFunction maybeReportErrorAboutMissingEdge(target, depLabel, e, eventHandler); continue; } - builder.getTransitiveSuccessfulPkgs().addTransitive( - transitiveTargetValue.getTransitiveSuccessfulPackages()); - builder.getTransitiveUnsuccessfulPkgs().addTransitive( - transitiveTargetValue.getTransitiveUnsuccessfulPackages()); builder.getTransitiveTargets().addTransitive(transitiveTargetValue.getTransitiveTargets()); NestedSet<Label> rootCauses = transitiveTargetValue.getTransitiveRootCauses(); if (rootCauses != null) { @@ -245,14 +240,15 @@ public class TransitiveTargetFunction } } - private void addFragmentsIfNew(TransitiveTargetValueBuilder builder, Iterable<?> fragments) { + private void addFragmentsIfNew( + TransitiveTargetValueBuilder builder, Iterable<? extends Class<?>> fragments) { // We take Iterable<?> instead of Iterable<Class<?>> or Iterable<Class<? extends Fragment>> // because both of the latter are passed as actual parameters and there's no way to consistently // cast to one of them. In actuality, all values are Class<? extends Fragment>, but the values // coming from Attribute.java don't have access to the Fragment symbol since Attribute is built // in a different library. - for (Object fragment : fragments) { - addFragmentIfNew(builder, (Class<? extends Fragment>) fragment); + for (Class<?> fragment : fragments) { + addFragmentIfNew(builder, fragment.asSubclass(Fragment.class)); } } @@ -327,8 +323,6 @@ public class TransitiveTargetFunction */ static class TransitiveTargetValueBuilder { private boolean successfulTransitiveLoading; - private final NestedSetBuilder<PackageIdentifier> transitiveSuccessfulPkgs; - private final NestedSetBuilder<PackageIdentifier> transitiveUnsuccessfulPkgs; private final NestedSetBuilder<Label> transitiveTargets; private final NestedSetBuilder<Class<? extends Fragment>> transitiveConfigFragments; private final Set<Class<? extends Fragment>> configFragmentsFromDeps; @@ -336,8 +330,6 @@ public class TransitiveTargetFunction public TransitiveTargetValueBuilder(Label label, Target target, boolean packageLoadedSuccessfully) { - this.transitiveSuccessfulPkgs = NestedSetBuilder.stableOrder(); - this.transitiveUnsuccessfulPkgs = NestedSetBuilder.stableOrder(); this.transitiveTargets = NestedSetBuilder.stableOrder(); this.transitiveConfigFragments = NestedSetBuilder.stableOrder(); // No need to store directly required fragments that are also required by deps. @@ -345,24 +337,12 @@ public class TransitiveTargetFunction this.transitiveRootCauses = NestedSetBuilder.stableOrder(); this.successfulTransitiveLoading = packageLoadedSuccessfully; - PackageIdentifier packageId = target.getPackage().getPackageIdentifier(); - if (packageLoadedSuccessfully) { - transitiveSuccessfulPkgs.add(packageId); - } else { + if (!packageLoadedSuccessfully) { transitiveRootCauses.add(label); - transitiveUnsuccessfulPkgs.add(packageId); } transitiveTargets.add(target.getLabel()); } - public NestedSetBuilder<PackageIdentifier> getTransitiveSuccessfulPkgs() { - return transitiveSuccessfulPkgs; - } - - public NestedSetBuilder<PackageIdentifier> getTransitiveUnsuccessfulPkgs() { - return transitiveUnsuccessfulPkgs; - } - public NestedSetBuilder<Label> getTransitiveTargets() { return transitiveTargets; } @@ -388,16 +368,15 @@ public class TransitiveTargetFunction } public SkyValue build(@Nullable NoSuchTargetException errorLoadingTarget) { - NestedSet<PackageIdentifier> successfullyLoadedPkgs = transitiveSuccessfulPkgs.build(); - NestedSet<PackageIdentifier> unsuccessfullyLoadedPkgs = transitiveUnsuccessfulPkgs.build(); NestedSet<Label> loadedTargets = transitiveTargets.build(); NestedSet<Class<? extends Fragment>> configFragments = transitiveConfigFragments.build(); return successfulTransitiveLoading - ? TransitiveTargetValue.successfulTransitiveLoading(successfullyLoadedPkgs, - unsuccessfullyLoadedPkgs, loadedTargets, configFragments) - : TransitiveTargetValue.unsuccessfulTransitiveLoading(successfullyLoadedPkgs, - unsuccessfullyLoadedPkgs, loadedTargets, transitiveRootCauses.build(), - errorLoadingTarget, configFragments); + ? TransitiveTargetValue.successfulTransitiveLoading(loadedTargets, configFragments) + : TransitiveTargetValue.unsuccessfulTransitiveLoading( + loadedTargets, + transitiveRootCauses.build(), + errorLoadingTarget, + configFragments); } } } |