Aspect terminology update.

Aspect => ConfiguredAspect
AspectWithParameters => Aspect

--
MOS_MIGRATED_REVID=107375211
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
similarity index 95%
rename from src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
rename to src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
index 835fb5e..d5ef9e8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
@@ -42,12 +42,12 @@
  * <p>Aspects are created alongside configured targets on request from dependents.
  */
 @Immutable
-public final class Aspect implements Iterable<TransitiveInfoProvider> {
+public final class ConfiguredAspect implements Iterable<TransitiveInfoProvider> {
   private final String name;
   private final ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider>
       providers;
 
-  private Aspect(
+  private ConfiguredAspect(
       String name,
       ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> providers) {
     this.name = name;
@@ -84,7 +84,7 @@
   }
 
   /**
-   * Builder for {@link Aspect}.
+   * Builder for {@link ConfiguredAspect}.
    */
   public static class Builder {
     private final Map<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider>
@@ -140,7 +140,7 @@
       return this;
     }
 
-    public Aspect build() {
+    public ConfiguredAspect build() {
       if (!outputGroupBuilders.isEmpty()) {
         ImmutableMap.Builder<String, NestedSet<Artifact>> outputGroups = ImmutableMap.builder();
         for (Map.Entry<String, NestedSetBuilder<Artifact>> entry : outputGroupBuilders.entrySet()) {
@@ -159,7 +159,7 @@
         providers.put(SkylarkProviders.class, new SkylarkProviders(skylarkProvidersMap));
       }
 
-      return new Aspect(name, ImmutableMap.copyOf(providers));
+      return new ConfiguredAspect(name, ImmutableMap.copyOf(providers));
     }
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
index 6671640..c983764 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
@@ -28,6 +28,6 @@
    * @param parameters information from attributes of the rule that have requested this
    *     aspect
    */
-  Aspect create(ConfiguredTarget base, RuleContext context, AspectParameters parameters)
+  ConfiguredAspect create(ConfiguredTarget base, RuleContext context, AspectParameters parameters)
       throws InterruptedException;
 }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
index b52f5a6..e909714 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
@@ -14,7 +14,6 @@
 
 package com.google.devtools.build.lib.analysis;
 
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ListMultimap;
@@ -33,7 +32,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
 import com.google.devtools.build.lib.events.Event;
 import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy;
 import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
@@ -56,7 +55,6 @@
 import java.util.ArrayList;
 import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import javax.annotation.Nullable;
@@ -284,36 +282,37 @@
   }
 
   /**
-   * Constructs an {@link Aspect}. Returns null if an error occurs; in that case,
+   * Constructs an {@link ConfiguredAspect}. Returns null if an error occurs; in that case,
    * {@code aspectFactory} should call one of the error reporting methods of {@link RuleContext}.
    */
-  public Aspect createAspect(
+  public ConfiguredAspect createAspect(
       AnalysisEnvironment env,
       RuleConfiguredTarget associatedTarget,
       ConfiguredAspectFactory aspectFactory,
-      AspectWithParameters aspectWithParameters,
+      Aspect aspect,
       ListMultimap<Attribute, ConfiguredTarget> prerequisiteMap,
       Set<ConfigMatchingProvider> configConditions,
       BuildConfiguration hostConfiguration)
-          throws InterruptedException {
+      throws InterruptedException {
     RuleContext.Builder builder = new RuleContext.Builder(env,
         associatedTarget.getTarget(),
         associatedTarget.getConfiguration(),
         hostConfiguration,
         ruleClassProvider.getPrerequisiteValidator());
-    RuleContext ruleContext = builder
-        .setVisibility(convertVisibility(
-            prerequisiteMap, env.getEventHandler(), associatedTarget.getTarget(), null))
-        .setPrerequisites(prerequisiteMap)
-        .setAspectAttributes(aspectWithParameters.getDefinition().getAttributes())
-        .setConfigConditions(configConditions)
-        .build();
+    RuleContext ruleContext =
+        builder
+            .setVisibility(
+                convertVisibility(
+                    prerequisiteMap, env.getEventHandler(), associatedTarget.getTarget(), null))
+            .setPrerequisites(prerequisiteMap)
+            .setAspectAttributes(aspect.getDefinition().getAttributes())
+            .setConfigConditions(configConditions)
+            .build();
     if (ruleContext.hasErrors()) {
       return null;
     }
 
-    return aspectFactory.create(associatedTarget, ruleContext,
-        aspectWithParameters.getParameters());
+    return aspectFactory.create(associatedTarget, ruleContext, aspect.getParameters());
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index fcea153..57a1d92 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -25,9 +25,9 @@
 import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.ImmutableSortedKeyListMultimap;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.AspectClass;
 import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.Attribute.LateBoundDefault;
 import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
@@ -102,15 +102,14 @@
     private final Attribute.Transition transition;
 
     private final boolean hasStaticConfiguration;
-    private final ImmutableSet<AspectWithParameters> aspects;
+    private final ImmutableSet<Aspect> aspects;
 
     /**
      * Constructs a Dependency with a given configuration (suitable for static configuration
      * builds).
      */
-    public Dependency(Label label,
-        @Nullable BuildConfiguration configuration,
-        ImmutableSet<AspectWithParameters> aspects) {
+    public Dependency(
+        Label label, @Nullable BuildConfiguration configuration, ImmutableSet<Aspect> aspects) {
       this.label = Preconditions.checkNotNull(label);
       this.configuration = configuration;
       this.transition = null;
@@ -123,14 +122,13 @@
      * builds).
      */
     public Dependency(Label label, @Nullable BuildConfiguration configuration) {
-      this(label, configuration, ImmutableSet.<AspectWithParameters>of());
+      this(label, configuration, ImmutableSet.<Aspect>of());
     }
 
     /**
      * Constructs a Dependency with a given transition (suitable for dynamic configuration builds).
      */
-    public Dependency(Label label, Attribute.Transition transition,
-        ImmutableSet<AspectWithParameters> aspects) {
+    public Dependency(Label label, Attribute.Transition transition, ImmutableSet<Aspect> aspects) {
       this.label = Preconditions.checkNotNull(label);
       this.configuration = null;
       this.transition = Preconditions.checkNotNull(transition);
@@ -167,7 +165,7 @@
       return transition;
     }
 
-    public ImmutableSet<AspectWithParameters> getAspects() {
+    public ImmutableSet<Aspect> getAspects() {
       return aspects;
     }
 
@@ -204,7 +202,7 @@
    * represent those edges. Visibility attributes are only visited if {@code visitVisibility} is
    * {@code true}.
    *
-   * <p>If {@code aspectWithParameters} is null, returns the dependent nodes of the configured
+   * <p>If {@code aspect} is null, returns the dependent nodes of the configured
    * target node representing the given target and configuration, otherwise that of the aspect
    * node accompanying the aforementioned configured target node for the specified aspect.
    *
@@ -220,7 +218,7 @@
   public final ListMultimap<Attribute, Dependency> dependentNodeMap(
       TargetAndConfiguration node,
       BuildConfiguration hostConfig,
-      AspectWithParameters aspectWithParameters,
+      Aspect aspect,
       Set<ConfigMatchingProvider> configConditions)
       throws EvalException, InterruptedException {
     Target target = node.getTarget();
@@ -242,11 +240,11 @@
       ListMultimap<Attribute, LabelAndConfiguration> labelMap =
           resolveAttributes(
               rule,
-              aspectWithParameters != null ? aspectWithParameters.getDefinition() : null,
+              aspect != null ? aspect.getDefinition() : null,
               config,
               hostConfig,
               configConditions);
-      visitRule(rule, aspectWithParameters, labelMap, outgoingEdges);
+      visitRule(rule, aspect, labelMap, outgoingEdges);
     } else if (target instanceof PackageGroup) {
       visitPackageGroup(node, (PackageGroup) target, outgoingEdges.get(null));
     } else {
@@ -555,20 +553,16 @@
     }
   }
 
-  private ImmutableSet<AspectWithParameters> requiredAspects(
-      AspectWithParameters aspectWithParameters,
-      Attribute attribute,
-      Target target,
-      Rule originalRule) {
+  private ImmutableSet<Aspect> requiredAspects(
+      Aspect aspect, Attribute attribute, Target target, Rule originalRule) {
     if (!(target instanceof Rule)) {
       return ImmutableSet.of();
     }
 
-    Set<AspectWithParameters> aspectCandidates =
-        extractAspectCandidates(aspectWithParameters, attribute, originalRule);
+    Set<Aspect> aspectCandidates = extractAspectCandidates(aspect, attribute, originalRule);
     RuleClass ruleClass = ((Rule) target).getRuleClassObject();
-    ImmutableSet.Builder<AspectWithParameters> result = ImmutableSet.builder();
-    for (AspectWithParameters candidateClass : aspectCandidates) {
+    ImmutableSet.Builder<Aspect> result = ImmutableSet.builder();
+    for (Aspect candidateClass : aspectCandidates) {
       if (Sets.difference(
               candidateClass.getDefinition().getRequiredProviders(),
               ruleClass.getAdvertisedProviders())
@@ -579,19 +573,18 @@
     return result.build();
   }
 
-  private static Set<AspectWithParameters> extractAspectCandidates(
-      AspectWithParameters aspectWithParameters, Attribute attribute, Rule originalRule) {
+  private static Set<Aspect> extractAspectCandidates(
+      Aspect aspectWithParameters, Attribute attribute, Rule originalRule) {
     // The order of this set will be deterministic. This is necessary because this order eventually
     // influences the order in which aspects are merged into the main configured target, which in
     // turn influences which aspect takes precedence if two emit the same provider (maybe this
     // should be an error)
-    Set<AspectWithParameters> aspectCandidates = new LinkedHashSet<>();
-    aspectCandidates.addAll(attribute.getAspectsWithParameters(originalRule));
+    Set<Aspect> aspectCandidates = new LinkedHashSet<>();
+    aspectCandidates.addAll(attribute.getAspects(originalRule));
     if (aspectWithParameters != null) {
       for (AspectClass aspect :
           aspectWithParameters.getDefinition().getAttributeAspects().get(attribute.getName())) {
-        aspectCandidates.add(
-            new AspectWithParameters(aspect, aspectWithParameters.getParameters()));
+        aspectCandidates.add(new Aspect(aspect, aspectWithParameters.getParameters()));
       }
     }
     return aspectCandidates;
@@ -604,7 +597,7 @@
 
   private void visitRule(
       Rule rule,
-      AspectWithParameters aspectWithParameters,
+      Aspect aspect,
       ListMultimap<Attribute, LabelAndConfiguration> labelMap,
       ListMultimap<Attribute, Dependency> outgoingEdges) {
     Preconditions.checkNotNull(labelMap);
@@ -647,7 +640,7 @@
         }
         for (Dependency dependency :
             transitionApplier.getDependencies(
-                label, requiredAspects(aspectWithParameters, attribute, toTarget, rule))) {
+                label, requiredAspects(aspect, attribute, toTarget, rule))) {
           outgoingEdges.put(
               entry.getKey(),
               dependency);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
index 14ef155..3ef5414 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
@@ -53,7 +53,7 @@
   private final ImmutableMap<Class<? extends TransitiveInfoProvider>, Object> providers;
   private final ImmutableList<Artifact> mandatoryStampFiles;
   private final Set<ConfigMatchingProvider> configConditions;
-  private final ImmutableList<Aspect> aspects;
+  private final ImmutableList<ConfiguredAspect> configuredAspects;
 
   RuleConfiguredTarget(RuleContext ruleContext,
       ImmutableList<Artifact> mandatoryStampFiles,
@@ -80,7 +80,7 @@
     this.providers = ImmutableMap.copyOf(providerBuilder);
     this.mandatoryStampFiles = mandatoryStampFiles;
     this.configConditions = ruleContext.getConfigConditions();
-    this.aspects = ImmutableList.of();
+    this.configuredAspects = ImmutableList.of();
 
     // If this rule is the run_under target, then check that we have an executable; note that
     // run_under is only set in the target configuration, and the target must also be analyzed for
@@ -108,7 +108,7 @@
    * an input or an output file).
    */
   public static ConfiguredTarget mergeAspects(
-      ConfiguredTarget base, Iterable<Aspect> aspects) {
+      ConfiguredTarget base, Iterable<ConfiguredAspect> aspects) {
     if (Iterables.isEmpty(aspects)) {
       // If there are no aspects, don't bother with creating a proxy object
       return base;
@@ -122,7 +122,7 @@
   /**
    * Creates an instance based on a configured target and a set of aspects.
    */
-  private RuleConfiguredTarget(RuleConfiguredTarget base, Iterable<Aspect> aspects) {
+  private RuleConfiguredTarget(RuleConfiguredTarget base, Iterable<ConfiguredAspect> aspects) {
     super(base.getTarget(), base.getConfiguration());
 
     Set<Class<? extends TransitiveInfoProvider>> providers = new HashSet<>();
@@ -138,8 +138,8 @@
         SkylarkProviders.merge(getAllProviders(base, aspects, SkylarkProviders.class));
 
     // Validate that all other providers are only provided once.
-    for (Aspect aspect : aspects) {
-      for (TransitiveInfoProvider aspectProvider : aspect) {
+    for (ConfiguredAspect configuredAspect : aspects) {
+      for (TransitiveInfoProvider aspectProvider : configuredAspect) {
         Class<? extends TransitiveInfoProvider> aClass = aspectProvider.getClass();
         if (OutputGroupProvider.class.equals(aClass)) {
           continue;
@@ -178,21 +178,19 @@
     }
     this.mandatoryStampFiles = base.mandatoryStampFiles;
     this.configConditions = base.configConditions;
-    this.aspects = ImmutableList.copyOf(aspects);
+    this.configuredAspects = ImmutableList.copyOf(aspects);
   }
 
   private static <T extends TransitiveInfoProvider> List<T> getAllProviders(
-      RuleConfiguredTarget base,
-      Iterable<Aspect> aspects,
-      Class<T> providerClass) {
+      RuleConfiguredTarget base, Iterable<ConfiguredAspect> aspects, Class<T> providerClass) {
     T baseProvider = base.getProvider(providerClass);
     List<T> providers = new ArrayList<>();
     if (baseProvider != null) {
       providers.add(baseProvider);
     }
 
-    for (Aspect aspect : aspects) {
-      final T aspectProvider = aspect.getProvider(providerClass);
+    for (ConfiguredAspect configuredAspect : aspects) {
+      final T aspectProvider = configuredAspect.getProvider(providerClass);
       if (aspectProvider == null) {
         continue;
       }
@@ -215,8 +213,8 @@
     // class?
     Object provider = providers.get(providerClass);
     if (provider == null) {
-      for (Aspect aspect : aspects) {
-        provider = aspect.getProviders().get(providerClass);
+      for (ConfiguredAspect configuredAspect : configuredAspects) {
+        provider = configuredAspect.getProviders().get(providerClass);
         if (provider != null) {
           break;
         }
@@ -247,8 +245,8 @@
   public UnmodifiableIterator<TransitiveInfoProvider> iterator() {
     Map<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> allProviders =
         new LinkedHashMap<>();
-    for (int i = aspects.size() - 1; i >= 0; i++) {
-      for (TransitiveInfoProvider tip : aspects.get(i)) {
+    for (int i = configuredAspects.size() - 1; i >= 0; i++) {
+      for (TransitiveInfoProvider tip : configuredAspects.get(i)) {
         allProviders.put(tip.getClass(), tip);
       }
     }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
index d7c9a8a..bb0922b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
@@ -134,12 +134,11 @@
 
   public static ArtifactsToBuild getAllArtifactsToBuild(
       AspectValue aspectValue, TopLevelArtifactContext context) {
-    Aspect aspect = aspectValue.getAspect();
+    ConfiguredAspect configuredAspect = aspectValue.getConfiguredAspect();
     return getAllArtifactsToBuild(
-        aspect.getProvider(OutputGroupProvider.class),
-        aspect.getProvider(FileProvider.class),
-        context
-    );
+        configuredAspect.getProvider(OutputGroupProvider.class),
+        configuredAspect.getProvider(FileProvider.class),
+        context);
   }
 
   public static ArtifactsToBuild getAllArtifactsToBuild(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index a5f2c6b..49f71b6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -43,7 +43,7 @@
 import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
 import com.google.devtools.build.lib.events.Event;
 import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.Attribute.Configurator;
 import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
@@ -1466,8 +1466,8 @@
      * for each configuration represented by this instance.
      * TODO(bazel-team): this is a really ugly reverse dependency: factor this away.
      */
-    Iterable<DependencyResolver.Dependency> getDependencies(Label label,
-        ImmutableSet<AspectWithParameters> aspects);
+    Iterable<DependencyResolver.Dependency> getDependencies(
+        Label label, ImmutableSet<Aspect> aspects);
   }
 
   /**
@@ -1540,8 +1540,8 @@
     }
 
     @Override
-    public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
-        ImmutableSet<AspectWithParameters> aspects) {
+    public Iterable<DependencyResolver.Dependency> getDependencies(
+        Label label, ImmutableSet<Aspect> aspects) {
       return ImmutableList.of(
           new DependencyResolver.Dependency(label, currentConfiguration, aspects));
     }
@@ -1641,8 +1641,8 @@
     }
 
     @Override
-    public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
-        ImmutableSet<AspectWithParameters> aspects) {
+    public Iterable<DependencyResolver.Dependency> getDependencies(
+        Label label, ImmutableSet<Aspect> aspects) {
       return ImmutableList.of(new DependencyResolver.Dependency(label, transition, aspects));
     }
   }
@@ -1708,8 +1708,8 @@
 
 
     @Override
-    public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
-        ImmutableSet<AspectWithParameters> aspects) {
+    public Iterable<DependencyResolver.Dependency> getDependencies(
+        Label label, ImmutableSet<Aspect> aspects) {
       ImmutableList.Builder<DependencyResolver.Dependency> builder = ImmutableList.builder();
       for (TransitionApplier applier : appliers) {
         builder.addAll(applier.getDependencies(label, aspects));
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
index c12fed2..aaeb7cd 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
@@ -107,7 +107,7 @@
 
     for (AspectValue aspect : aspectsToPrint) {
       Label label = aspect.getLabel();
-      String aspectName = aspect.getAspect().getName();
+      String aspectName = aspect.getConfiguredAspect().getName();
       boolean headerFlag = true;
       NestedSet<Artifact> importantArtifacts =
           TopLevelArtifactHelper.getAllArtifactsToBuild(aspect, context).getImportantArtifacts();
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
index 197c550..5512a19 100644
--- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.Root;
 import com.google.devtools.build.lib.analysis.AnalysisUtils;
-import com.google.devtools.build.lib.analysis.Aspect;
-import com.google.devtools.build.lib.analysis.Aspect.Builder;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect.Builder;
 import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -119,9 +119,9 @@
   }
 
   @Override
-  public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
-      AspectParameters parameters) {
-    Aspect.Builder builder = new Builder(NAME);
+  public ConfiguredAspect create(
+      ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
+    ConfiguredAspect.Builder builder = new Builder(NAME);
 
     AndroidStudioInfoFilesProvider.Builder providerBuilder =
         new AndroidStudioInfoFilesProvider.Builder();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
similarity index 85%
rename from src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java
rename to src/main/java/com/google/devtools/build/lib/packages/Aspect.java
index 6f47f9a..017a5f3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
@@ -22,21 +22,21 @@
  * created with help of aspect factory instances and parameters are used to configure them, so we
  * have to keep them together.
  */
-public final class AspectWithParameters {
+public final class Aspect {
   // TODO(bazel-team): class objects are not really hashable or comparable for equality other than
   // by reference. We should identify the aspect here in a way that does not rely on comparison
   // by reference so that keys can be serialized and deserialized properly.
   private final AspectClass aspectClass;
   private final AspectParameters parameters;
 
-  public AspectWithParameters(AspectClass aspect, AspectParameters parameters) {
+  public Aspect(AspectClass aspect, AspectParameters parameters) {
     Preconditions.checkNotNull(aspect);
     Preconditions.checkNotNull(parameters);
     this.aspectClass = aspect;
     this.parameters = parameters;
   }
 
-  public AspectWithParameters(AspectClass aspect) {
+  public Aspect(AspectClass aspect) {
     this(aspect, AspectParameters.EMPTY);
   }
 
@@ -59,10 +59,10 @@
     if (this == other) {
       return true;
     }
-    if (!(other instanceof AspectWithParameters)) {
+    if (!(other instanceof Aspect)) {
       return false;
     }
-    AspectWithParameters that = (AspectWithParameters) other;
+    Aspect that = (Aspect) other;
     return Objects.equals(this.aspectClass, that.aspectClass)
         && Objects.equals(this.parameters, that.parameters);
   }
@@ -74,7 +74,7 @@
 
   @Override
   public String toString() {
-    return String.format("AspectWithParameters %s(%s)", aspectClass, parameters);
+    return String.format("Aspect %s(%s)", aspectClass, parameters);
   }
 
   public AspectDefinition getDefinition() {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 9b5b5b9..de9c5c3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -32,8 +32,7 @@
 import java.util.Set;
 
 /**
- * The definition of an aspect (see {@link com.google.devtools.build.lib.analysis.Aspect} for more
- * information.)
+ * The definition of an aspect (see {@link Aspect} for moreinformation.)
  *
  * <p>Contains enough information to build up the configured target graph except for the actual way
  * to build the Skyframe node (that is the territory of
@@ -145,7 +144,7 @@
     }
 
     LinkedHashMultimap<Attribute, Label> result = LinkedHashMultimap.create();
-    for (AspectWithParameters candidateClass : attribute.getAspectsWithParameters(from)) {
+    for (Aspect candidateClass : attribute.getAspects(from)) {
       // Check if target satisfies condition for this aspect (has to provide all required
       // TransitiveInfoProviders)
       if (!advertisedProviders.containsAll(
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index d11efff..9e19e68 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -1332,25 +1332,13 @@
   }
 
   /**
-   * Returns the set of aspects required for dependencies through this attribute.
+   * Returns the list of aspects required for dependencies through this attribute.
    */
-  public ImmutableSet<AspectClass> getAspects() {
-    ImmutableSet.Builder<AspectClass> builder = ImmutableSet.builder();
-    for (RuleAspect aspect : aspects) {
-      builder.add(aspect.getAspectFactory());
-    }
-    return builder.build();
-  }
-
-  /**
-   * Returns set of pairs of aspect factories and corresponding aspect parameters.
-   */
-  public ImmutableList<AspectWithParameters> getAspectsWithParameters(Rule rule) {
-    ImmutableList.Builder<AspectWithParameters> builder = ImmutableList.builder();
+  public ImmutableList<Aspect> getAspects(Rule rule) {
+    ImmutableList.Builder<Aspect> builder = ImmutableList.builder();
     for (RuleAspect aspect : aspects) {
       builder.add(
-          new AspectWithParameters(
-              aspect.getAspectFactory(), aspect.getParametersExtractor().apply(rule)));
+          new Aspect(aspect.getAspectFactory(), aspect.getParametersExtractor().apply(rule)));
     }
     return builder.build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index 07f1650..027a943e 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -737,7 +737,7 @@
       BinaryPredicate<Rule, Attribute> predicate) {
     LinkedHashMultimap<Attribute, Label> labels = LinkedHashMultimap.create();
     for (Attribute attribute : this.getAttributes()) {
-      for (AspectWithParameters candidateClass : attribute.getAspectsWithParameters(this)) {
+      for (Aspect candidateClass : attribute.getAspects(this)) {
         AspectDefinition.addAllAttributesOfAspect(
             Rule.this, labels, candidateClass.getDefinition(), predicate);
       }
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
index 3f210f1..c71e372 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
@@ -18,8 +18,8 @@
 import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Multimap;
 import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.Rule;
 import com.google.devtools.build.lib.packages.Target;
@@ -42,9 +42,9 @@
 
     Multimap<Attribute, Label> result = LinkedHashMultimap.create();
     for (Attribute attribute : rule.getAttributes()) {
-      for (AspectWithParameters aspectWithParameters : attribute.getAspectsWithParameters(rule)) {
+      for (Aspect aspect : attribute.getAspects(rule)) {
         AspectDefinition.addAllAttributesOfAspect(
-            rule, result, aspectWithParameters.getDefinition(), Rule.ALL_DEPS);
+            rule, result, aspect.getDefinition(), Rule.ALL_DEPS);
       }
     }
 
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
index 3067006..4da4f3a 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.NoSuchPackageException;
 import com.google.devtools.build.lib.packages.NoSuchThingException;
@@ -95,8 +95,7 @@
                   new BinaryPredicate<Rule, Attribute>() {
                     @Override
                     public boolean apply(@Nullable Rule rule, Attribute attribute) {
-                      for (AspectWithParameters aspectWithParameters :
-                          attribute.getAspectsWithParameters(rule)) {
+                      for (Aspect aspectWithParameters : attribute.getAspects(rule)) {
                         if (!aspectWithParameters.getDefinition().getAttributes().isEmpty()) {
                           return true;
                         }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
index b2a865b..eb85670 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.rules.android;
 
 import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -45,11 +45,11 @@
           "deps", "exports", "runtime_deps", "binary_under_test", "$instrumentation_test_runner");
 
   @Override
-  public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
-      AspectParameters parameters) {
+  public ConfiguredAspect create(
+      ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
     if (!JavaCommon.getConstraints(ruleContext).contains("android")
         && !ruleContext.getRule().getRuleClass().startsWith("android_")) {
-      return new Aspect.Builder(NAME).build();
+      return new ConfiguredAspect.Builder(NAME).build();
     }
 
     List<TransitiveInfoCollection> deps = new ArrayList<>();
@@ -65,7 +65,7 @@
       deps.addAll(ruleContext.getPrerequisites(attribute, Mode.TARGET));
     }
 
-    return new Aspect.Builder(NAME)
+    return new ConfiguredAspect.Builder(NAME)
         .addProvider(
             AndroidNeverLinkLibrariesProvider.class,
             new AndroidNeverLinkLibrariesProvider(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
index b792bc2..59a5470 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
@@ -18,7 +18,7 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -75,10 +75,10 @@
   protected abstract boolean checkShouldCreateAspect(RuleContext ruleContext);
 
   @Override
-  public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
-      AspectParameters parameters) {
+  public ConfiguredAspect create(
+      ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
     if (!checkShouldCreateAspect(ruleContext)) {
-      return new Aspect.Builder(NAME).build();
+      return new ConfiguredAspect.Builder(NAME).build();
     }
 
     ProtoSourcesProvider protoSourcesProvider = base.getProvider(ProtoSourcesProvider.class);
@@ -110,7 +110,7 @@
     NestedSet<Artifact> j2ObjcTransitiveClassMappingFiles = j2ObjcTransitiveClassMappingFiles(
         ruleContext, classMappingFiles);
 
-    return new Aspect.Builder(NAME)
+    return new ConfiguredAspect.Builder(NAME)
         .addProvider(J2ObjcSrcsProvider.class, j2objcSrcsProvider)
         .addProvider(
             J2ObjcMappingFileProvider.class,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index 410d6d4..5d28156 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -24,7 +24,7 @@
 import com.google.devtools.build.lib.Constants;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.ParameterFile;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -90,9 +90,9 @@
   }
 
   @Override
-  public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
-      AspectParameters parameters) {
-    Aspect.Builder builder = new Aspect.Builder(NAME);
+  public ConfiguredAspect create(
+      ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
+    ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(NAME);
 
     JavaCompilationArgsProvider compilationArgsProvider =
         base.getProvider(JavaCompilationArgsProvider.class);
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 1206cce..1e301f5 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
@@ -17,8 +17,8 @@
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ListMultimap;
-import com.google.devtools.build.lib.analysis.Aspect;
 import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleConfiguredTarget;
@@ -28,7 +28,6 @@
 import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.events.StoredEventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
 import com.google.devtools.build.lib.packages.NativeAspectClass;
@@ -98,11 +97,11 @@
     NestedSetBuilder<Package> transitivePackages = NestedSetBuilder.stableOrder();
     AspectKey key = (AspectKey) skyKey.argument();
     ConfiguredAspectFactory aspectFactory;
-    if (key.getAspect() instanceof NativeAspectClass<?>) {
+    if (key.getAspectClass() instanceof NativeAspectClass<?>) {
       aspectFactory =
-          (ConfiguredAspectFactory) ((NativeAspectClass<?>) key.getAspect()).newInstance();
-    } else if (key.getAspect() instanceof SkylarkAspectClass) {
-      SkylarkAspectClass skylarkAspectClass = (SkylarkAspectClass) key.getAspect();
+          (ConfiguredAspectFactory) ((NativeAspectClass<?>) key.getAspectClass()).newInstance();
+    } else if (key.getAspectClass() instanceof SkylarkAspectClass) {
+      SkylarkAspectClass skylarkAspectClass = (SkylarkAspectClass) key.getAspectClass();
       SkylarkAspect skylarkAspect;
       try {
         skylarkAspect =
@@ -182,7 +181,7 @@
               env,
               resolver,
               ctgValue,
-              key.getAspectWithParameters(),
+              key.getAspect(),
               configConditions,
               ruleClassProvider,
               view.getHostConfiguration(ctgValue.getConfiguration()),
@@ -224,9 +223,14 @@
       return null;
     }
 
-    Aspect aspect = view.createAspect(
-        analysisEnvironment, associatedTarget, aspectFactory, directDeps, configConditions,
-        key.getAspectWithParameters());
+    ConfiguredAspect configuredAspect =
+        view.createAspect(
+            analysisEnvironment,
+            associatedTarget,
+            aspectFactory,
+            directDeps,
+            configConditions,
+            key.getAspect());
 
     events.replayOn(env.getListener());
     if (events.hasErrors()) {
@@ -242,13 +246,13 @@
     }
 
     analysisEnvironment.disable(associatedTarget.getTarget());
-    Preconditions.checkNotNull(aspect);
+    Preconditions.checkNotNull(configuredAspect);
 
     return new AspectValue(
         key,
         associatedTarget.getLabel(),
         associatedTarget.getTarget().getLocation(),
-        aspect,
+        configuredAspect,
         ImmutableList.copyOf(analysisEnvironment.getRegisteredActions()),
         transitivePackages.build());
   }
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 4b0d678..4d5e6c2 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
@@ -16,15 +16,15 @@
 
 import com.google.common.base.Objects;
 import com.google.devtools.build.lib.actions.Action;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 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.Aspect;
 import com.google.devtools.build.lib.packages.AspectClass;
 import com.google.devtools.build.lib.packages.AspectParameters;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.packages.Package;
 import com.google.devtools.build.skyframe.SkyFunctionName;
 import com.google.devtools.build.skyframe.SkyKey;
@@ -32,7 +32,7 @@
 import javax.annotation.Nullable;
 
 /**
- * An aspectWithParameters in the context of the Skyframe graph.
+ * An aspect in the context of the Skyframe graph.
  */
 public final class AspectValue extends ActionLookupValue {
 
@@ -50,7 +50,7 @@
   public static final class AspectKey extends AspectValueKey {
     private final Label label;
     private final BuildConfiguration configuration;
-    private final AspectWithParameters aspectWithParameters;
+    private final Aspect aspect;
 
     protected AspectKey(
         Label label,
@@ -59,7 +59,7 @@
         AspectParameters parameters) {
       this.label = label;
       this.configuration = configuration;
-      this.aspectWithParameters = new AspectWithParameters(aspectClass, parameters);
+      this.aspect = new Aspect(aspectClass, parameters);
     }
 
     @Override
@@ -73,21 +73,21 @@
       return label;
     }
 
-    public AspectClass getAspect() {
-      return aspectWithParameters.getAspectClass();
+    public AspectClass getAspectClass() {
+      return aspect.getAspectClass();
     }
 
     @Nullable
     public AspectParameters getParameters() {
-      return aspectWithParameters.getParameters();
+      return aspect.getParameters();
     }
 
-    public AspectWithParameters getAspectWithParameters() {
-      return aspectWithParameters;
+    public Aspect getAspect() {
+      return aspect;
     }
 
     public String getDescription() {
-      return String.format("%s of %s", aspectWithParameters.getAspectClass().getName(), getLabel());
+      return String.format("%s of %s", aspect.getAspectClass().getName(), getLabel());
     }
 
     public BuildConfiguration getConfiguration() {
@@ -96,7 +96,7 @@
 
     @Override
     public int hashCode() {
-      return Objects.hashCode(label, configuration, aspectWithParameters);
+      return Objects.hashCode(label, configuration, aspect);
     }
 
     @Override
@@ -112,23 +112,23 @@
       AspectKey that = (AspectKey) other;
       return Objects.equal(label, that.label)
           && Objects.equal(configuration, that.configuration)
-          && Objects.equal(aspectWithParameters, that.aspectWithParameters);
+          && Objects.equal(aspect, that.aspect);
     }
 
     @Override
     public String toString() {
       return label
           + "#"
-          + aspectWithParameters.getAspectClass().getName()
+          + aspect.getAspectClass().getName()
           + " "
           + (configuration == null ? "null" : configuration.checksum())
           + " "
-          + aspectWithParameters.getParameters();
+          + aspect.getParameters();
     }
   }
 
   /**
-   * The key for a skylark aspectWithParameters.
+   * The key for a skylark aspect.
    */
   public static class SkylarkAspectLoadingKey extends AspectValueKey {
 
@@ -180,22 +180,26 @@
   private final Label label;
   private final Location location;
   private final AspectKey key;
-  private final Aspect aspect;
+  private final ConfiguredAspect configuredAspect;
   private final NestedSet<Package> transitivePackages;
 
   public AspectValue(
-      AspectKey key, Label label, Location location, Aspect aspect, Iterable<Action> actions,
+      AspectKey key,
+      Label label,
+      Location location,
+      ConfiguredAspect configuredAspect,
+      Iterable<Action> actions,
       NestedSet<Package> transitivePackages) {
     super(actions);
     this.location = location;
     this.label = label;
     this.key = key;
-    this.aspect = aspect;
+    this.configuredAspect = configuredAspect;
     this.transitivePackages = transitivePackages;
   }
 
-  public Aspect getAspect() {
-    return aspect;
+  public ConfiguredAspect getConfiguredAspect() {
+    return configuredAspect;
   }
 
   public Label getLabel() {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
index 96dd2cf..f19a572 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
@@ -148,7 +148,7 @@
           String.format(
               "%s, aspect %s: missing input file '%s'",
               value.getLabel(),
-              value.getAspect().getName(),
+              value.getConfiguredAspect().getName(),
               rootCause));
     }
 
@@ -157,7 +157,7 @@
       return new MissingInputFileException(
           value.getLabel()
               + ", aspect "
-              + value.getAspect().getName()
+              + value.getConfiguredAspect().getName()
               + missingCount
               + " input file(s) do not exist",
           value.getLocation());
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 d139ea6..76ac0f8 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
@@ -26,8 +26,8 @@
 import com.google.devtools.build.lib.actions.Actions;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
-import com.google.devtools.build.lib.analysis.Aspect;
 import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 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;
@@ -44,8 +44,8 @@
 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.Aspect;
 import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
 import com.google.devtools.build.lib.packages.BuildType;
@@ -214,7 +214,7 @@
    *  @param env the Skyframe environment
    * @param resolver The dependency resolver
    * @param ctgValue The label and the configuration of the node
-   * @param aspectWithParameters
+   * @param aspect
    * @param configConditions the configuration conditions for evaluating the attributes of the node
    * @param ruleClassProvider rule class provider for determining the right configuration fragments
    *   to apply to deps
@@ -227,7 +227,7 @@
       Environment env,
       SkyframeDependencyResolver resolver,
       TargetAndConfiguration ctgValue,
-      AspectWithParameters aspectWithParameters,
+      Aspect aspect,
       Set<ConfigMatchingProvider> configConditions,
       RuleClassProvider ruleClassProvider,
       BuildConfiguration hostConfiguration,
@@ -237,8 +237,7 @@
     ListMultimap<Attribute, Dependency> depValueNames;
     try {
       depValueNames =
-          resolver.dependentNodeMap(
-              ctgValue, hostConfiguration, aspectWithParameters, configConditions);
+          resolver.dependentNodeMap(ctgValue, hostConfiguration, aspect, configConditions);
     } catch (EvalException e) {
       env.getListener().handle(Event.error(e.getLocation(), e.getMessage()));
       throw new DependencyEvaluationException(new ConfiguredValueCreationException(e.print()));
@@ -263,8 +262,8 @@
     }
 
     // Resolve required aspects.
-    ListMultimap<SkyKey, Aspect> depAspects = resolveAspectDependencies(
-        env, depValues, depValueNames.values(), transitivePackages);
+    ListMultimap<SkyKey, ConfiguredAspect> depAspects =
+        resolveAspectDependencies(env, depValues, depValueNames.values(), transitivePackages);
     if (depAspects == null) {
       return null;
     }
@@ -467,7 +466,7 @@
   private static ListMultimap<Attribute, ConfiguredTarget> mergeAspects(
       ListMultimap<Attribute, Dependency> depValueNames,
       Map<SkyKey, ConfiguredTarget> depConfiguredTargetMap,
-      ListMultimap<SkyKey, Aspect> depAspectMap) {
+      ListMultimap<SkyKey, ConfiguredAspect> depAspectMap) {
     ListMultimap<Attribute, ConfiguredTarget> result = ArrayListMultimap.create();
 
     for (Map.Entry<Attribute, Dependency> entry : depValueNames.entries()) {
@@ -483,19 +482,21 @@
 
   /**
    * Given a list of {@link Dependency} objects, returns a multimap from the {@link SkyKey} of the
-   * dependency to the {@link Aspect} instances that should be merged into it.
+   * dependency to the {@link ConfiguredAspect} instances that should be merged into it.
    *
    * <p>Returns null if the required aspects are not computed yet.
    */
   @Nullable
-  private static ListMultimap<SkyKey, Aspect> resolveAspectDependencies(Environment env,
-      Map<SkyKey, ConfiguredTarget> configuredTargetMap, Iterable<Dependency> deps,
+  private static ListMultimap<SkyKey, ConfiguredAspect> resolveAspectDependencies(
+      Environment env,
+      Map<SkyKey, ConfiguredTarget> configuredTargetMap,
+      Iterable<Dependency> deps,
       NestedSetBuilder<Package> transitivePackages)
       throws AspectCreationException {
-    ListMultimap<SkyKey, Aspect> result = ArrayListMultimap.create();
+    ListMultimap<SkyKey, ConfiguredAspect> result = ArrayListMultimap.create();
     Set<SkyKey> aspectKeys = new HashSet<>();
     for (Dependency dep : deps) {
-      for (AspectWithParameters depAspect : dep.getAspects()) {
+      for (Aspect depAspect : dep.getAspects()) {
         aspectKeys.add(createAspectKey(dep.getLabel(), dep.getConfiguration(), depAspect));
       }
     }
@@ -513,7 +514,7 @@
         continue;
       }
       ConfiguredTarget depConfiguredTarget = configuredTargetMap.get(depKey);
-      for (AspectWithParameters depAspect : dep.getAspects()) {
+      for (Aspect depAspect : dep.getAspects()) {
         if (!aspectMatchesConfiguredTarget(depConfiguredTarget, depAspect)) {
           continue;
         }
@@ -538,23 +539,22 @@
           // Dependent aspect has either not been computed yet or is in error.
           return null;
         }
-        result.put(depKey, aspectValue.getAspect());
+        result.put(depKey, aspectValue.getConfiguredAspect());
         transitivePackages.addTransitive(aspectValue.getTransitivePackages());
       }
     }
     return result;
   }
 
-  public static SkyKey createAspectKey(Label label, BuildConfiguration buildConfiguration,
-      AspectWithParameters depAspect) {
+  public static SkyKey createAspectKey(
+      Label label, BuildConfiguration buildConfiguration, Aspect depAspect) {
     return AspectValue.key(label,
         buildConfiguration,
         depAspect.getAspectClass(),
         depAspect.getParameters());
   }
 
-  private static boolean aspectMatchesConfiguredTarget(
-      ConfiguredTarget dep, AspectWithParameters aspectClass) {
+  private static boolean aspectMatchesConfiguredTarget(ConfiguredTarget dep, Aspect aspectClass) {
     AspectDefinition aspectDefinition = aspectClass.getDefinition();
     for (Class<?> provider : aspectDefinition.getRequiredProviders()) {
       if (dep.getProvider(provider.asSubclass(TransitiveInfoProvider.class)) == null) {
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 1b90dce..b1d0fae 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
@@ -34,11 +34,10 @@
 import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
 import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
 import com.google.devtools.build.lib.analysis.AnalysisFailureEvent;
-import com.google.devtools.build.lib.analysis.Aspect;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
 import com.google.devtools.build.lib.analysis.BlazeDirectories;
 import com.google.devtools.build.lib.analysis.BuildView;
 import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -56,7 +55,7 @@
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.events.Event;
 import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.Package;
 import com.google.devtools.build.lib.packages.RuleClassProvider;
@@ -537,16 +536,21 @@
   }
 
   @Nullable
-  public Aspect createAspect(
+  public ConfiguredAspect createAspect(
       AnalysisEnvironment env,
       RuleConfiguredTarget associatedTarget,
       ConfiguredAspectFactory aspectFactory,
       ListMultimap<Attribute, ConfiguredTarget> prerequisiteMap,
       Set<ConfigMatchingProvider> configConditions,
-      AspectWithParameters aspectWithParameters)
-          throws InterruptedException {
-    return factory.createAspect(env, associatedTarget, aspectFactory, aspectWithParameters,
-        prerequisiteMap, configConditions,
+      Aspect aspect)
+      throws InterruptedException {
+    return factory.createAspect(
+        env,
+        associatedTarget,
+        aspectFactory,
+        aspect,
+        prerequisiteMap,
+        configConditions,
         getHostConfiguration(associatedTarget.getConfiguration()));
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index a660ba5..631fc2f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -50,9 +50,9 @@
 import com.google.devtools.build.lib.actions.PackageRootResolutionException;
 import com.google.devtools.build.lib.actions.ResourceManager;
 import com.google.devtools.build.lib.actions.Root;
-import com.google.devtools.build.lib.analysis.Aspect;
 import com.google.devtools.build.lib.analysis.BlazeDirectories;
 import com.google.devtools.build.lib.analysis.BuildView.Options;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.DependencyResolver.Dependency;
@@ -77,7 +77,7 @@
 import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
 import com.google.devtools.build.lib.events.EventHandler;
 import com.google.devtools.build.lib.events.Reporter;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
+import com.google.devtools.build.lib.packages.Aspect;
 import com.google.devtools.build.lib.packages.Attribute;
 import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
 import com.google.devtools.build.lib.packages.NoSuchPackageException;
@@ -1134,7 +1134,7 @@
     final List<SkyKey> skyKeys = new ArrayList<>();
     for (Dependency key : keys) {
       skyKeys.add(ConfiguredTargetValue.key(key.getLabel(), configs.get(key)));
-      for (AspectWithParameters aspect : key.getAspects()) {
+      for (Aspect aspect : key.getAspects()) {
         skyKeys.add(
             ConfiguredTargetFunction.createAspectKey(key.getLabel(), configs.get(key), aspect));
       }
@@ -1153,19 +1153,19 @@
 
       ConfiguredTarget configuredTarget =
           ((ConfiguredTargetValue) result.get(configuredTargetKey)).getConfiguredTarget();
-      List<Aspect> aspects = new ArrayList<>();
+      List<ConfiguredAspect> configuredAspects = new ArrayList<>();
 
-      for (AspectWithParameters aspect : key.getAspects()) {
+      for (Aspect aspect : key.getAspects()) {
         SkyKey aspectKey =
             ConfiguredTargetFunction.createAspectKey(key.getLabel(), configs.get(key), aspect);
         if (result.get(aspectKey) == null) {
           continue DependentNodeLoop;
         }
 
-        aspects.add(((AspectValue) result.get(aspectKey)).getAspect());
+        configuredAspects.add(((AspectValue) result.get(aspectKey)).getConfiguredAspect());
       }
 
-      cts.put(key, RuleConfiguredTarget.mergeAspects(configuredTarget, aspects));
+      cts.put(key, RuleConfiguredTarget.mergeAspects(configuredTarget, configuredAspects));
     }
 
     return cts.build();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
index c8775c9..707a896 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
@@ -15,7 +15,7 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
 import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleContext;
@@ -44,7 +44,8 @@
   }
 
   @Override
-  public Aspect create(ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
+  public ConfiguredAspect create(
+      ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
       throws InterruptedException {
     try (Mutability mutability = Mutability.create("aspect")) {
       SkylarkRuleContext skylarkRuleContext;
@@ -79,16 +80,16 @@
           return null;
         }
 
-        Aspect.Builder builder = new Aspect.Builder(name);
+        ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(name);
 
         SkylarkClassObject struct = (SkylarkClassObject) aspectSkylarkObject;
         Location loc = struct.getCreationLoc();
         for (String key : struct.getKeys()) {
           builder.addSkylarkTransitiveInfo(key, struct.getValue(key), loc);
         }
-        Aspect aspect = builder.build();
+        ConfiguredAspect configuredAspect = builder.build();
         SkylarkProviderValidationUtil.checkOrphanArtifacts(ruleContext);
-        return aspect;
+        return configuredAspect;
       } catch (EvalException e) {
         addAspectToStackTrace(base, e);
         ruleContext.ruleError("\n" + e.print());