diff options
author | cparsons <cparsons@google.com> | 2018-01-04 14:53:52 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-04 14:55:57 -0800 |
commit | 7ee24c619495a6ec41eaf66140928b9005d09751 (patch) | |
tree | 219dd98b5fd0ed80276f80c2e246c25eb6108b86 /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | |
parent | b099292d4f513012c1c63a4e73cec043015a55fc (diff) |
Allow late bound defaults in skylark aspects
RELNOTES: None.
PiperOrigin-RevId: 180849649
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java index 32a78c9ad2..5b2b6e30ec 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java @@ -754,7 +754,7 @@ public class SkylarkRuleClassFunctions { && ((String) attribute.getDefaultValue(null)).isEmpty()) { hasDefault = false; // isValueSet() is always true for attr.string. } - if (!Attribute.isImplicit(nativeName)) { + if (!Attribute.isImplicit(nativeName) && !Attribute.isLateBound(nativeName)) { if (!attribute.checkAllowedValues() || attribute.getType() != Type.STRING) { throw new EvalException( ast.getLocation(), @@ -776,7 +776,7 @@ public class SkylarkRuleClassFunctions { nativeName, allowed.getErrorReason(defaultVal))); } } - } else if (!hasDefault) { // Implicit attribute + } else if (!hasDefault) { // Implicit or late bound attribute String skylarkName = "_" + nativeName.substring(1); throw new EvalException( ast.getLocation(), |