diff options
author | 2016-01-22 10:54:38 +0000 | |
---|---|---|
committer | 2016-01-22 15:55:49 +0000 | |
commit | a2c9ac6a6989019fd7ccb4bee2149dd600ef4476 (patch) | |
tree | 894332f61b2df6f1df2026010d53a657a74e7358 /src/test/java/com/google/devtools/build/lib/skylark | |
parent | eb01c21f94fbd6119c2f73796f63f789fd765910 (diff) |
Make SkylarkList a List.
SkylarkList now implements the List interfaces, except that its mutating methods
throw an UnsupportedOperationException, just like ImmutableList does.
To actually mutate a SkylarkList, you need to pass a Location and a suitable
Environment object with a matching Mutability while it is still active.
Introduce SkylarkMutable and SkylarkMutable.MutableCollection to better handle
mutable data structures.
Remove some functions in EvalUtils made obsolete by this and previous changes regarding Skylark lists.
--
MOS_MIGRATED_REVID=112768457
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java index 553fc5eb2e..709557ab8f 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java @@ -235,7 +235,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { ruleContext.getRuleContext().getAnalysisEnvironment().getRegisteredActions()); assertArtifactFilenames(action.getInputs(), "a.txt", "b.img"); assertArtifactFilenames(action.getOutputs(), "a.txt", "b.img"); - MoreAsserts.assertContainsSublist(action.getArguments(), "-c", "dummy_command", "", "--a", "--b"); + MoreAsserts.assertContainsSublist(action.getArguments(), + "-c", "dummy_command", "", "--a", "--b"); assertEquals("DummyMnemonic", action.getMnemonic()); assertEquals("dummy_message", action.getProgressMessage()); assertEquals(targetConfig.getLocalShellEnvironment(), action.getEnvironment()); @@ -502,7 +503,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { " command='I got the $(HELLO) on a $(DAVE)', ", " make_variables={'HELLO': 'World', 'DAVE': type('')})"); @SuppressWarnings("unchecked") - List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList(); + List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv"); assertThat(argv).hasSize(3); assertMatches("argv[0]", "^.*/bash$", argv.get(0)); assertThat(argv.get(1)).isEqualTo("-c"); @@ -516,7 +517,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { "inputs, argv, manifests = ruleContext.resolve_command(", " tools=ruleContext.attr.tools)"); @SuppressWarnings("unchecked") - List<Artifact> inputs = (List<Artifact>) (List<?>) ((MutableList) lookup("inputs")).getList(); + List<Artifact> inputs = (List<Artifact>) (List<?>) (MutableList) lookup("inputs"); assertArtifactFilenames(inputs, "mytool.sh", "mytool", "foo_Smytool-runfiles", "t.exe"); Map<?, ?> manifests = (Map<?, ?>) lookup("manifests"); assertThat(manifests).hasSize(1); @@ -537,7 +538,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { " attribute='cmd', expand_locations=True, label_dict=label_dict)", "inputs, argv, manifests = foo()"); @SuppressWarnings("unchecked") - List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList(); + List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv"); assertThat(argv).hasSize(3); assertMatches("argv[0]", "^.*/bash$", argv.get(0)); assertThat(argv.get(1)).isEqualTo("-c"); @@ -555,7 +556,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { " command=s)", "argv = foo()[1]"); @SuppressWarnings("unchecked") - List<String> argv = (List<String>) (List<?>) ((MutableList) lookup("argv")).getList(); + List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv"); assertThat(argv).hasSize(2); assertMatches("argv[0]", "^.*/bash$", argv.get(0)); assertMatches("argv[1]", "^.*/resolve_me[.]script[.]sh$", argv.get(1)); |