Remove AspectClass.getDefinition
Aspect becomes a triple (AspectClass, AspectDefinition,
AspectParameters) and loses its equals() method.
After this CL, SkylarkAspectClass.getDefintion still exists and is
deprecated.
--
MOS_MIGRATED_REVID=119159653
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index c390a81499..aa171b2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -61,6 +61,15 @@
/**
* The Skyframe function that generates aspects.
+ *
+ * {@link AspectFunction} takes a SkyKey containing an {@link AspectKey} [a tuple of
+ * (target label, configurations, aspect class and aspect parameters)],
+ * loads an {@link Aspect} from aspect class and aspect parameters,
+ * gets a {@link ConfiguredTarget} for label and configurations, and then creates
+ * a {@link ConfiguredAspect} for a given {@link AspectKey}.
+ *
+ * See {@link com.google.devtools.build.lib.packages.AspectClass} documentation
+ * for an overview of aspect-related classes
*/
public final class AspectFunction implements SkyFunction {
private final BuildViewProvider buildViewProvider;
@@ -116,7 +125,7 @@
NativeAspectClass<?> nativeAspectClass = (NativeAspectClass<?>) key.getAspectClass();
aspectFactory =
(ConfiguredAspectFactory) nativeAspectClass.newInstance();
- aspect = new Aspect(nativeAspectClass, key.getParameters());
+ aspect = Aspect.forNative(nativeAspectClass, key.getParameters());
} else if (key.getAspectClass() instanceof SkylarkAspectClass) {
SkylarkAspectClass skylarkAspectClass = (SkylarkAspectClass) key.getAspectClass();
SkylarkAspect skylarkAspect;
@@ -132,7 +141,10 @@
}
aspectFactory = new SkylarkAspectFactory(skylarkAspect.getName(), skylarkAspect);
- aspect = new Aspect(skylarkAspect.getAspectClass(), key.getParameters());
+ aspect = Aspect.forSkylark(
+ skylarkAspect.getAspectClass(),
+ skylarkAspect.getAspectClass().getDefinition(),
+ key.getParameters());
} else {
throw new IllegalStateException();
}