aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2015-10-21 19:16:30 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-10-22 15:15:53 +0000
commit8ff064545b5c286209c07a66eee430747a401a0e (patch)
treeef58094d7c6c0f8210dd12d825a53089b4ea3446 /src/main/java/com/google/devtools/build/lib/skyframe
parent908f4c91b4b5c1f996f1b177ab5886b1468cb6a9 (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.java24
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java14
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;