diff options
author | vladmos <vladmos@google.com> | 2018-03-22 06:05:45 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-22 06:07:11 -0700 |
commit | bc4a0a2393768457f95ac0a54bfc641fede6032a (patch) | |
tree | 1f98c2b89f5a86bc56c360cf72c73aedc498150e /src | |
parent | 4aa3e06e2226dce83ee6430e80dc7c7d0d67e93e (diff) |
Remove the --incompatible_disallow_uncalled_set_constructor flag
RELNOTES[INC]: The --incompatible_disallow_uncalled_set_constructor flag is no
longer available, the `set` constructor` is completely removed from Skylark.
Use `depset` instead.
PiperOrigin-RevId: 190053331
Diffstat (limited to 'src')
7 files changed, 0 insertions, 66 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 ab6e6ed79d..9056342bac 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 @@ -51,7 +51,6 @@ public final class SkylarkSemanticsCodec implements ObjectCodec<SkylarkSemantics codedOut.writeBoolNoTag(semantics.incompatibleDisallowDictPlus()); codedOut.writeBoolNoTag(semantics.incompatibleDisallowThreeArgVardef()); codedOut.writeBoolNoTag(semantics.incompatibleDisallowToplevelIfStatement()); - codedOut.writeBoolNoTag(semantics.incompatibleDisallowUncalledSetConstructor()); codedOut.writeBoolNoTag(semantics.incompatibleNewActionsApi()); codedOut.writeBoolNoTag(semantics.incompatibleRemoveNativeGitRepository()); codedOut.writeBoolNoTag(semantics.incompatibleRemoveNativeHttpArchive()); @@ -73,7 +72,6 @@ public final class SkylarkSemanticsCodec implements ObjectCodec<SkylarkSemantics builder.incompatibleDisallowDictPlus(codedIn.readBool()); builder.incompatibleDisallowThreeArgVardef(codedIn.readBool()); builder.incompatibleDisallowToplevelIfStatement(codedIn.readBool()); - builder.incompatibleDisallowUncalledSetConstructor(codedIn.readBool()); builder.incompatibleNewActionsApi(codedIn.readBool()); builder.incompatibleRemoveNativeGitRepository(codedIn.readBool()); builder.incompatibleRemoveNativeHttpArchive(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 b61f73094e..afb730c75c 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 @@ -157,17 +157,6 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable public boolean incompatibleDisallowToplevelIfStatement; @Option( - name = "incompatible_disallow_uncalled_set_constructor", - defaultValue = "true", - category = "incompatible changes", - documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, - effectTags = {OptionEffectTag.UNKNOWN}, - metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, - help = "If set to true, it's not allowed to use `set()` even if that code is never executed." - ) - public boolean incompatibleDisallowUncalledSetConstructor; - - @Option( name = "incompatible_new_actions_api", defaultValue = "false", category = "incompatible changes", @@ -239,7 +228,6 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable .incompatibleDisallowDictPlus(incompatibleDisallowDictPlus) .incompatibleDisallowThreeArgVardef(incompatibleDisallowThreeArgVardef) .incompatibleDisallowToplevelIfStatement(incompatibleDisallowToplevelIfStatement) - .incompatibleDisallowUncalledSetConstructor(incompatibleDisallowUncalledSetConstructor) .incompatibleNewActionsApi(incompatibleNewActionsApi) .incompatibleRemoveNativeGitRepository(incompatibleRemoveNativeGitRepository) .incompatibleRemoveNativeHttpArchive(incompatibleRemoveNativeHttpArchive) diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java b/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java index 9f167e83b5..e201a0e865 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Identifier.java @@ -96,13 +96,6 @@ public final class Identifier extends Expression { if (name.equals("$error$")) { return new EvalException(getLocation(), "contains syntax error(s)", true); } - if (name.equals("set")) { - //TODO(vladmos): Remove as soon as the flag is removed - return new EvalException(getLocation(), - "The function 'set' has been removed in favor of 'depset', please use the latter. " - + "You can temporarily refer to the old 'set' constructor from unexecuted code " - + "by using --incompatible_disallow_uncalled_set_constructor=false"); - } String suggestion = SpellChecker.didYouMean(name, symbols); return new EvalException(getLocation(), "name '" + name + "' is not defined" + suggestion); } 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 fc9edda407..05208dcdd0 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 @@ -41,23 +41,15 @@ public abstract class SkylarkSemantics { // <== Add new options here in alphabetic order ==> public abstract boolean incompatibleBzlDisallowLoadAfterStatement(); public abstract boolean incompatibleDepsetIsNotIterable(); - public abstract boolean incompatibleDepsetUnion(); - public abstract boolean incompatibleDisableGlobTracking(); public abstract boolean incompatibleDisableObjcProviderResources(); - public abstract boolean incompatibleDisallowDictPlus(); public abstract boolean incompatibleDisallowThreeArgVardef(); public abstract boolean incompatibleDisallowToplevelIfStatement(); - public abstract boolean incompatibleDisallowUncalledSetConstructor(); - public abstract boolean incompatibleNewActionsApi(); - public abstract boolean incompatibleRemoveNativeGitRepository(); - public abstract boolean incompatibleRemoveNativeHttpArchive(); - public abstract boolean incompatibleStringIsNotIterable(); public abstract boolean internalSkylarkFlagTestCanary(); @@ -84,7 +76,6 @@ public abstract class SkylarkSemantics { .incompatibleDisallowDictPlus(false) .incompatibleDisallowThreeArgVardef(false) .incompatibleDisallowToplevelIfStatement(true) - .incompatibleDisallowUncalledSetConstructor(true) .incompatibleNewActionsApi(false) .incompatibleRemoveNativeGitRepository(false) .incompatibleRemoveNativeHttpArchive(false) @@ -105,7 +96,6 @@ public abstract class SkylarkSemantics { 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 incompatibleNewActionsApi(boolean value); public abstract Builder incompatibleRemoveNativeGitRepository(boolean value); public abstract Builder incompatibleRemoveNativeHttpArchive(boolean value); diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java index f7aba2c568..1c68edc1ae 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java @@ -68,12 +68,6 @@ public final class ValidationEnvironment extends SyntaxTreeVisitor { block.variables.addAll(builtinVariables); block.readOnlyVariables.addAll(builtinVariables); semantics = env.getSemantics(); - - // If the flag is set to false, it should be allowed to have `set` - // in non-executable parts of the code. - if (!env.getSemantics().incompatibleDisallowUncalledSetConstructor()) { - block.variables.add("set"); - } } @Override diff --git a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java index 7cde32faca..a9a3d517f7 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java +++ b/src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java @@ -127,7 +127,6 @@ public class SkylarkSemanticsConsistencyTest { "--incompatible_disallow_dict_plus=" + rand.nextBoolean(), "--incompatible_disallow_three_arg_vardef=" + rand.nextBoolean(), "--incompatible_disallow_toplevel_if_statement=" + rand.nextBoolean(), - "--incompatible_disallow_uncalled_set_constructor=" + rand.nextBoolean(), "--incompatible_new_actions_api=" + rand.nextBoolean(), "--incompatible_remove_native_git_repository=" + rand.nextBoolean(), "--incompatible_remove_native_http_archive=" + rand.nextBoolean(), @@ -150,7 +149,6 @@ public class SkylarkSemanticsConsistencyTest { .incompatibleDisallowDictPlus(rand.nextBoolean()) .incompatibleDisallowThreeArgVardef(rand.nextBoolean()) .incompatibleDisallowToplevelIfStatement(rand.nextBoolean()) - .incompatibleDisallowUncalledSetConstructor(rand.nextBoolean()) .incompatibleNewActionsApi(rand.nextBoolean()) .incompatibleRemoveNativeGitRepository(rand.nextBoolean()) .incompatibleRemoveNativeHttpArchive(rand.nextBoolean()) diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java index 307f416fe0..0836d0ed38 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java @@ -36,33 +36,6 @@ import org.junit.runners.JUnit4; public class SkylarkNestedSetTest extends EvaluationTestCase { @Test - public void testLegacyConstructorNotCalled() throws Exception { - env = - newEnvironmentWithSkylarkOptions("--incompatible_disallow_uncalled_set_constructor=false"); - eval("s = set([1, 2]) if False else depset([3, 4])"); - SkylarkNestedSet s = get("s"); - assertThat(s.getSet(Object.class)).containsExactly(3, 4); - - // Static check are only enabled in .bzl files - new SkylarkTest("--incompatible_disallow_uncalled_set_constructor=true") - .testIfErrorContains("The function 'set' has been removed in favor of 'depset'", - "s = set([1, 2]) if False else depset([3, 4])"); - new BuildTest("--incompatible_disallow_uncalled_set_constructor=true") - .testEval("s = set([1, 2]) if False else depset([3, 4]); s.to_list()", "[3, 4]"); - } - - @Test - public void testLegacyConstructorCalled() throws Exception { - new BothModesTest("--incompatible_disallow_uncalled_set_constructor=false") - .testIfErrorContains("The function 'set' has been removed in favor of 'depset'", - "s = set([1, 2])"); - - new BothModesTest("--incompatible_disallow_uncalled_set_constructor=true") - .testIfErrorContains("The function 'set' has been removed in favor of 'depset'", - "s = set([1, 2])"); - } - - @Test public void testConstructor() throws Exception { eval("s = depset(order='default')"); assertThat(lookup("s")).isInstanceOf(SkylarkNestedSet.class); |