aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
index 23d6b87b43..4ff90d9944 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java
@@ -409,7 +409,15 @@ public class SkylarkRuleClassFunctions {
throws EvalException {
ImmutableList.Builder<String> attrAspects = ImmutableList.builder();
for (Object attributeAspect : attributeAspects) {
- attrAspects.add(STRING.convert(attributeAspect, "attr_aspects"));
+ String attrName = STRING.convert(attributeAspect, "attr_aspects");
+ if (!attrName.startsWith("_")) {
+ attrAspects.add(attrName);
+ } else {
+ // Implicit attribute names mean ether implicit or late-bound attributes
+ // (``$attr`` or ``:attr``). Depend on both.
+ attrAspects.add(attributeToNative(attrName, location, false));
+ attrAspects.add(attributeToNative(attrName, location, true));
+ }
}
ImmutableList<Pair<String, SkylarkAttr.Descriptor>> attributes =