diff options
author | 2018-03-06 10:04:28 -0800 | |
---|---|---|
committer | 2018-03-06 10:06:18 -0800 | |
commit | a345f04fd6d45d1317f114f086f529e4fd3b6a00 (patch) | |
tree | cd6a166a7bed5a575f08cef1c204dd71065103ea /src/main/java/com/google/devtools/build/lib | |
parent | 2f3b2b528d1aa91415a674c48abf3195e0b0b98c (diff) |
Add a command line option to disallow vardef()s with three arguments.
RELNOTES: None.
PiperOrigin-RevId: 188038131
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
3 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsCodec.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsCodec.java index 978e7e9a3f..9dd52ccfd9 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsCodec.java +++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsCodec.java @@ -49,6 +49,7 @@ public final class SkylarkSemanticsCodec implements ObjectCodec<SkylarkSemantics codedOut.writeBoolNoTag(semantics.incompatibleDisableGlobTracking()); codedOut.writeBoolNoTag(semantics.incompatibleDisableObjcProviderResources()); codedOut.writeBoolNoTag(semantics.incompatibleDisallowDictPlus()); + codedOut.writeBoolNoTag(semantics.incompatibleDisallowThreeArgVardef()); codedOut.writeBoolNoTag(semantics.incompatibleDisallowToplevelIfStatement()); codedOut.writeBoolNoTag(semantics.incompatibleDisallowUncalledSetConstructor()); codedOut.writeBoolNoTag(semantics.incompatibleLoadArgumentIsLabel()); @@ -72,6 +73,7 @@ public final class SkylarkSemanticsCodec implements ObjectCodec<SkylarkSemantics builder.incompatibleDisableGlobTracking(codedIn.readBool()); builder.incompatibleDisableObjcProviderResources(codedIn.readBool()); builder.incompatibleDisallowDictPlus(codedIn.readBool()); + builder.incompatibleDisallowThreeArgVardef(codedIn.readBool()); builder.incompatibleDisallowToplevelIfStatement(codedIn.readBool()); builder.incompatibleDisallowUncalledSetConstructor(codedIn.readBool()); builder.incompatibleLoadArgumentIsLabel(codedIn.readBool()); diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java index 86f6b44b9f..66801ae45c 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java +++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java @@ -133,6 +133,17 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable public boolean incompatibleDisallowDictPlus; @Option( + name = "incompatible_disallow_three_arg_vardef", + defaultValue = "false", + category = "incompatible changes", + documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + effectTags = {OptionEffectTag.UNKNOWN}, + metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, + help = "If set to true, three-argument `vardef()` functions are disallowed." + ) + public boolean incompatibleDisallowThreeArgVardef; + + @Option( name = "incompatible_disallow_toplevel_if_statement", defaultValue = "true", category = "incompatible changes", @@ -251,6 +262,7 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable .incompatibleDisableGlobTracking(incompatibleDisableGlobTracking) .incompatibleDisableObjcProviderResources(incompatibleDisableObjcProviderResources) .incompatibleDisallowDictPlus(incompatibleDisallowDictPlus) + .incompatibleDisallowThreeArgVardef(incompatibleDisallowThreeArgVardef) .incompatibleDisallowToplevelIfStatement(incompatibleDisallowToplevelIfStatement) .incompatibleDisallowUncalledSetConstructor(incompatibleDisallowUncalledSetConstructor) .incompatibleLoadArgumentIsLabel(incompatibleLoadArgumentIsLabel) diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java index 95edc23fc3..570511bcb2 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java @@ -48,8 +48,10 @@ public abstract class SkylarkSemantics { public abstract boolean incompatibleDisableObjcProviderResources(); public abstract boolean incompatibleDisallowDictPlus(); + public abstract boolean incompatibleDisallowThreeArgVardef(); public abstract boolean incompatibleDisallowToplevelIfStatement(); public abstract boolean incompatibleDisallowUncalledSetConstructor(); + public abstract boolean incompatibleLoadArgumentIsLabel(); public abstract boolean incompatibleNewActionsApi(); public abstract boolean incompatibleShowAllPrintMessages(); @@ -82,6 +84,7 @@ public abstract class SkylarkSemantics { .incompatibleDisableGlobTracking(true) .incompatibleDisableObjcProviderResources(false) .incompatibleDisallowDictPlus(false) + .incompatibleDisallowThreeArgVardef(false) .incompatibleDisallowToplevelIfStatement(true) .incompatibleDisallowUncalledSetConstructor(true) .incompatibleLoadArgumentIsLabel(true) @@ -107,6 +110,7 @@ public abstract class SkylarkSemantics { public abstract Builder incompatibleDisableObjcProviderResources(boolean value); public abstract Builder incompatibleDisallowDictPlus(boolean value); + public abstract Builder incompatibleDisallowThreeArgVardef(boolean value); public abstract Builder incompatibleDisallowToplevelIfStatement(boolean value); public abstract Builder incompatibleDisallowUncalledSetConstructor(boolean value); public abstract Builder incompatibleLoadArgumentIsLabel(boolean value); |