aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-02-01 15:43:44 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-02-02 14:56:59 +0000
commit975fa32cd130f9f8132ba0d6758b9986b2e99a4a (patch)
tree51e891d32d2e98a75d5706c038ea2d592a7240ce /src/main/java/com/google/devtools
parentaaff855491f0a6679308c5a6eac43b3a93135bfc (diff)
In attr_aspects, make ``_attr`` mean both implicit and late-bound attributes.
-- MOS_MIGRATED_REVID=113527098
Diffstat (limited to 'src/main/java/com/google/devtools')
-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 =