aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2018-03-22 06:05:45 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-03-22 06:07:11 -0700
commitbc4a0a2393768457f95ac0a54bfc641fede6032a (patch)
tree1f98c2b89f5a86bc56c360cf72c73aedc498150e /src
parent4aa3e06e2226dce83ee6430e80dc7c7d0d67e93e (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')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsCodec.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkSemanticsOptions.java12
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Identifier.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java6
-rw-r--r--src/test/java/com/google/devtools/build/lib/packages/SkylarkSemanticsConsistencyTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java27
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);