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(); }