diff options
author | Dmitry Lomov <dslomov@google.com> | 2016-02-01 15:43:44 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2016-02-02 14:56:59 +0000 |
commit | 975fa32cd130f9f8132ba0d6758b9986b2e99a4a (patch) | |
tree | 51e891d32d2e98a75d5706c038ea2d592a7240ce /src/main/java/com | |
parent | aaff855491f0a6679308c5a6eac43b3a93135bfc (diff) |
In attr_aspects, make ``_attr`` mean both implicit and late-bound attributes.
--
MOS_MIGRATED_REVID=113527098
Diffstat (limited to 'src/main/java/com')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleClassFunctions.java | 10 |
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 = |