diff options
author | Dmitry Lomov <dslomov@google.com> | 2015-10-21 19:16:30 +0000 |
---|---|---|
committer | Kristina Chodorow <kchodorow@google.com> | 2015-10-22 15:15:53 +0000 |
commit | 8ff064545b5c286209c07a66eee430747a401a0e (patch) | |
tree | ef58094d7c6c0f8210dd12d825a53089b4ea3446 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | 908f4c91b4b5c1f996f1b177ab5886b1468cb6a9 (diff) |
Introduce an AspectClass: a representation of a class of aspects.
For native aspects, AspectClass is a facade for Class<AspectFactory<...>>.
--
MOS_MIGRATED_REVID=105986390
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java | 24 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java | 14 |
2 files changed, 19 insertions, 19 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java index 884d5dbc72..336056fad1 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java @@ -19,12 +19,12 @@ import com.google.common.base.Preconditions; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.analysis.Aspect; import com.google.devtools.build.lib.analysis.AspectWithParameters; -import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; 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.events.Location; +import com.google.devtools.build.lib.packages.AspectClass; import com.google.devtools.build.lib.packages.AspectParameters; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -72,15 +72,15 @@ public final class AspectValue extends ActionLookupValue { private NativeAspectKey( Label label, BuildConfiguration configuration, - Class<? extends ConfiguredAspectFactory> aspectFactory, + AspectClass aspectClass , AspectParameters parameters) { super(label, configuration); Preconditions.checkNotNull(parameters); - this.aspect = new AspectWithParameters(aspectFactory, parameters); + this.aspect = new AspectWithParameters(aspectClass, parameters); } - public Class<? extends ConfiguredAspectFactory> getAspect() { - return aspect.getAspectFactory(); + public AspectClass getAspect() { + return aspect.getAspectClass(); } @Override @@ -91,7 +91,7 @@ public final class AspectValue extends ActionLookupValue { @Override public String getDescription() { - return String.format("%s of %s", aspect.getAspectFactory().getName(), getLabel()); + return String.format("%s of %s", aspect.getAspectClass().getName(), getLabel()); } @Override @@ -122,7 +122,7 @@ public final class AspectValue extends ActionLookupValue { @Override public String toString() { - return label + "#" + aspect.getAspectFactory().getSimpleName() + " " + return label + "#" + aspect.getAspectClass().getName() + " " + (configuration == null ? "null" : configuration.checksum()) + " " + aspect.getParameters(); } @@ -209,8 +209,10 @@ public final class AspectValue extends ActionLookupValue { return transitivePackages; } - public static SkyKey key(Label label, BuildConfiguration configuration, - Class<? extends ConfiguredAspectFactory> aspectFactory, + public static SkyKey key( + Label label, + BuildConfiguration configuration, + AspectClass aspectFactory, AspectParameters additionalConfiguration) { return new SkyKey( SkyFunctions.NATIVE_ASPECT, @@ -222,9 +224,7 @@ public final class AspectValue extends ActionLookupValue { } public static NativeAspectKey createAspectKey( - Label label, - BuildConfiguration configuration, - Class<? extends ConfiguredAspectFactory> aspectFactory) { + Label label, BuildConfiguration configuration, AspectClass aspectFactory) { return new NativeAspectKey(label, configuration, aspectFactory, AspectParameters.EMPTY); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index addf514e77..237feea9d7 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java @@ -29,7 +29,6 @@ import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictEx import com.google.devtools.build.lib.analysis.Aspect; import com.google.devtools.build.lib.analysis.AspectWithParameters; import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment; -import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.DependencyResolver.Dependency; import com.google.devtools.build.lib.analysis.LabelAndConfiguration; @@ -46,6 +45,7 @@ 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; import com.google.devtools.build.lib.events.StoredEventHandler; +import com.google.devtools.build.lib.packages.AspectClass; import com.google.devtools.build.lib.packages.AspectDefinition; import com.google.devtools.build.lib.packages.AspectFactory; import com.google.devtools.build.lib.packages.AspectParameters; @@ -510,7 +510,7 @@ final class ConfiguredTargetFunction implements SkyFunction { } ConfiguredTarget depConfiguredTarget = configuredTargetMap.get(depKey); for (AspectWithParameters depAspect : dep.getAspects()) { - if (!aspectMatchesConfiguredTarget(depConfiguredTarget, depAspect.getAspectFactory())) { + if (!aspectMatchesConfiguredTarget(depConfiguredTarget, depAspect.getAspectClass())) { continue; } @@ -523,7 +523,7 @@ final class ConfiguredTargetFunction implements SkyFunction { throw new IllegalStateException(e); } catch (NoSuchThingException e) { AspectFactory<?, ?, ?> depAspectFactory = - AspectFactory.Util.create(depAspect.getAspectFactory()); + AspectFactory.Util.create(depAspect.getAspectClass()); throw new AspectCreationException( String.format("Evaluation of aspect %s on %s failed: %s", depAspectFactory.getDefinition().getName(), dep.getLabel(), e.toString())); @@ -544,13 +544,13 @@ final class ConfiguredTargetFunction implements SkyFunction { AspectWithParameters depAspect) { return AspectValue.key(label, buildConfiguration, - depAspect.getAspectFactory(), + depAspect.getAspectClass(), depAspect.getParameters()); } - private static boolean aspectMatchesConfiguredTarget(ConfiguredTarget dep, - Class<? extends ConfiguredAspectFactory> aspectFactory) { - AspectDefinition aspectDefinition = AspectFactory.Util.create(aspectFactory).getDefinition(); + private static boolean aspectMatchesConfiguredTarget( + ConfiguredTarget dep, AspectClass aspectClass) { + AspectDefinition aspectDefinition = AspectFactory.Util.create(aspectClass).getDefinition(); for (Class<?> provider : aspectDefinition.getRequiredProviders()) { if (dep.getProvider(provider.asSubclass(TransitiveInfoProvider.class)) == null) { return false; |