diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java index 5d4e24aad7..118a636294 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java @@ -47,6 +47,7 @@ import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory.BuildIn import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection; import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider; +import com.google.devtools.build.lib.analysis.config.FragmentClassSet; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.events.Event; @@ -112,8 +113,8 @@ public final class SkyframeBuildView { private BuildConfiguration topLevelHostConfiguration; // Fragment-limited versions of the host configuration. It's faster to create/cache these here // than to store them in Skyframe. - private Map<Set<Class<? extends BuildConfiguration.Fragment>>, BuildConfiguration> - hostConfigurationCache = Maps.newConcurrentMap(); + private Map<FragmentClassSet, BuildConfiguration> hostConfigurationCache = + Maps.newConcurrentMap(); private BuildConfigurationCollection configurations; @@ -545,10 +546,10 @@ public final class SkyframeBuildView { // trims a host configuration to the same scope as a target configuration. Since their options // are different, the host instance may actually be able to produce the fragment. So it's // wrong and potentially dangerous to unilaterally exclude it. - Set<Class<? extends BuildConfiguration.Fragment>> fragmentClasses = + FragmentClassSet fragmentClasses = config.trimConfigurations() ? config.fragmentClasses() - : ruleClassProvider.getAllFragments(); + : FragmentClassSet.of(ruleClassProvider.getAllFragments()); BuildConfiguration hostConfig = hostConfigurationCache.get(fragmentClasses); if (hostConfig != null) { return hostConfig; |