Parametrize aspect definition with AspectParameters.

--
MOS_MIGRATED_REVID=106848269
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 1fee104..33881a8 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -104,6 +104,28 @@
   }
 
   @Test
+  public void aspectWithParametrizedDefinition() throws Exception {
+    setRules(
+        new TestAspects.BaseRule(),
+        new TestAspects.HonestRule(),
+        new TestAspects.ParametrizedDefinitionAspectRule());
+
+    pkg(
+        "a",
+        "honest(name='q', foo=[])",
+        "parametrized_definition_aspect(name='a', foo=[':b'], baz='//a:q')",
+        "honest(name='c', foo=[])",
+        "honest(name='b', foo=[':c'])");
+
+    ConfiguredTarget a = getConfiguredTarget("//a:a");
+    assertThat(a.getProvider(TestAspects.RuleInfo.class).getData())
+        .containsExactly(
+            "rule //a:a",
+            "aspect //a:b data //a:q $dep:[ //a:q]",
+            "aspect //a:c data //a:q $dep:[ //a:q]");
+  }
+
+  @Test
   public void aspectInError() throws Exception {
     setRules(new TestAspects.BaseRule(), new TestAspects.ErrorAspectRule(),
         new TestAspects.SimpleRule());