Aspects can get information from their base rule.

--
MOS_MIGRATED_REVID=102126786
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 7d17a98..02b4f3e 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
@@ -137,4 +137,18 @@
     assertThat(a.getProvider(TestAspects.RuleInfo.class).getData())
         .containsExactly("aspect //a:b", "rule //a:a");
   }
+
+  @Test
+  public void informationFromBaseRulePassedToAspect() throws Exception {
+    setRules(new TestAspects.BaseRule(), new TestAspects.HonestRule(),
+        new TestAspects.AspectRequiringProviderRule());
+
+    pkg("a",
+        "aspect_requiring_provider(name='a', foo=[':b'], baz='hello')",
+        "honest(name='b', foo=[])");
+
+    ConfiguredTarget a = getConfiguredTarget("//a:a");
+    assertThat(a.getProvider(TestAspects.RuleInfo.class).getData())
+        .containsExactly("rule //a:a", "aspect //a:b data hello");
+  }
 }