bazel syntax: rename SkylarkList.MutableList to StarlarkList

This is the Java class that represents the Starlark 'list' data type.
We now have both SkylarkList and StarlarkList, which is confusing.
A follow-up change will globally rename SkylarkList to Sequence.

PiperOrigin-RevId: 280037310
diff --git a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
index 50f41fb..4341cd0 100644
--- a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java
@@ -29,8 +29,8 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.Tuple;
 import com.google.devtools.build.lib.util.Classpath;
 import java.util.ArrayList;
@@ -243,7 +243,7 @@
     }
 
     @SkylarkCallable(name = "mutable", doc = "mutable")
-    public MutableList<Integer> getMutableList() {
+    public StarlarkList<Integer> getMutableList() {
       return null;
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java b/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
index ce1506f..120e644 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/TypeTest.java
@@ -23,8 +23,8 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.Tuple;
 import com.google.devtools.build.lib.testutil.MoreAsserts;
 import java.util.Arrays;
@@ -244,7 +244,7 @@
 
   @Test
   public void testStringDictBadElements() throws Exception {
-    Object input = ImmutableMap.of("foo", MutableList.of(null, "bar", "baz"), "wiz", "bang");
+    Object input = ImmutableMap.of("foo", StarlarkList.of(null, "bar", "baz"), "wiz", "bang");
     Type.ConversionException e =
         assertThrows(Type.ConversionException.class, () -> Type.STRING_DICT.convert(input, null));
     assertThat(e)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 6a692b5..fa2cddc 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -54,9 +54,9 @@
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.testutil.Scratch;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.build.lib.util.Pair;
@@ -5711,7 +5711,7 @@
 
     Object picObjects = fooInfoForPic.getValue("pic_objects");
     assertThat(picObjects).isNotEqualTo(Starlark.NONE);
-    assertThat((MutableList) picObjects).isEmpty();
+    assertThat((StarlarkList) picObjects).isEmpty();
 
     // With PIC and the default compilation_mode which is fastbuild C++ rules only produce PIC
     // objects.
@@ -5727,7 +5727,7 @@
 
     Object objects = fooInfoForNoPic.getValue("objects");
     assertThat(objects).isNotEqualTo(Starlark.NONE);
-    assertThat((MutableList) objects).isEmpty();
+    assertThat((StarlarkList) objects).isEmpty();
   }
 
   private void scratchObjectsProvidingRule() throws IOException {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcToolchainConfigureTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcToolchainConfigureTest.java
index 7240ded..73df135 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcToolchainConfigureTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcToolchainConfigureTest.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.rules.cpp;
 
 import com.google.devtools.build.lib.packages.util.ResourceLoader;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import java.io.IOException;
@@ -29,23 +29,23 @@
   @Test
   public void testSplitEscaped() throws Exception {
     newTest()
-        .testExpression("split_escaped('a:b:c', ':')", MutableList.of(thread, "a", "b", "c"))
-        .testExpression("split_escaped('a%:b', ':')", MutableList.of(thread, "a:b"))
-        .testExpression("split_escaped('a%%b', ':')", MutableList.of(thread, "a%b"))
-        .testExpression("split_escaped('a:::b', ':')", MutableList.of(thread, "a", "", "", "b"))
-        .testExpression("split_escaped('a:b%:c', ':')", MutableList.of(thread, "a", "b:c"))
-        .testExpression("split_escaped('a%%:b:c', ':')", MutableList.of(thread, "a%", "b", "c"))
-        .testExpression("split_escaped(':a', ':')", MutableList.of(thread, "", "a"))
-        .testExpression("split_escaped('a:', ':')", MutableList.of(thread, "a", ""))
-        .testExpression("split_escaped('::a::', ':')", MutableList.of(thread, "", "", "a", "", ""))
-        .testExpression("split_escaped('%%%:a%%%%:b', ':')", MutableList.of(thread, "%:a%%", "b"))
-        .testExpression("split_escaped('', ':')", MutableList.of(thread))
-        .testExpression("split_escaped('%', ':')", MutableList.of(thread, "%"))
-        .testExpression("split_escaped('%%', ':')", MutableList.of(thread, "%"))
-        .testExpression("split_escaped('%:', ':')", MutableList.of(thread, ":"))
-        .testExpression("split_escaped(':', ':')", MutableList.of(thread, "", ""))
-        .testExpression("split_escaped('a%%b', ':')", MutableList.of(thread, "a%b"))
-        .testExpression("split_escaped('a%:', ':')", MutableList.of(thread, "a:"));
+        .testExpression("split_escaped('a:b:c', ':')", StarlarkList.of(thread, "a", "b", "c"))
+        .testExpression("split_escaped('a%:b', ':')", StarlarkList.of(thread, "a:b"))
+        .testExpression("split_escaped('a%%b', ':')", StarlarkList.of(thread, "a%b"))
+        .testExpression("split_escaped('a:::b', ':')", StarlarkList.of(thread, "a", "", "", "b"))
+        .testExpression("split_escaped('a:b%:c', ':')", StarlarkList.of(thread, "a", "b:c"))
+        .testExpression("split_escaped('a%%:b:c', ':')", StarlarkList.of(thread, "a%", "b", "c"))
+        .testExpression("split_escaped(':a', ':')", StarlarkList.of(thread, "", "a"))
+        .testExpression("split_escaped('a:', ':')", StarlarkList.of(thread, "a", ""))
+        .testExpression("split_escaped('::a::', ':')", StarlarkList.of(thread, "", "", "a", "", ""))
+        .testExpression("split_escaped('%%%:a%%%%:b', ':')", StarlarkList.of(thread, "%:a%%", "b"))
+        .testExpression("split_escaped('', ':')", StarlarkList.of(thread))
+        .testExpression("split_escaped('%', ':')", StarlarkList.of(thread, "%"))
+        .testExpression("split_escaped('%%', ':')", StarlarkList.of(thread, "%"))
+        .testExpression("split_escaped('%:', ':')", StarlarkList.of(thread, ":"))
+        .testExpression("split_escaped(':', ':')", StarlarkList.of(thread, "", ""))
+        .testExpression("split_escaped('a%%b', ':')", StarlarkList.of(thread, "a%b"))
+        .testExpression("split_escaped('a%:', ':')", StarlarkList.of(thread, "a:"));
   }
 
   private ModalTestCase newTest(String... skylarkOptions) throws IOException {
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index 13a03b9..820eccc 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -56,9 +56,9 @@
 import com.google.devtools.build.lib.skyframe.SkyFunctions;
 import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction;
 import com.google.devtools.build.lib.syntax.SkylarkList;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
 import com.google.devtools.build.skyframe.SkyFunction;
@@ -1245,7 +1245,7 @@
     StructImpl myInfo = getMyInfoFromTarget(target);
     assertThat(myInfo.getValue("o1"))
         .isEqualTo(Label.parseAbsoluteUnchecked("//test/skylark:foo.txt"));
-    assertThat(myInfo.getValue("o2")).isEqualTo(MutableList.empty());
+    assertThat(myInfo.getValue("o2")).isEqualTo(StarlarkList.empty());
   }
 
   @Test
@@ -1270,7 +1270,7 @@
     ConfiguredTarget target = getConfiguredTarget("//test/skylark:cr");
     StructImpl myInfo = getMyInfoFromTarget(target);
     assertThat(myInfo.getValue("o1")).isEqualTo(Starlark.NONE);
-    assertThat(myInfo.getValue("o2")).isEqualTo(MutableList.empty());
+    assertThat(myInfo.getValue("o2")).isEqualTo(StarlarkList.empty());
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
index ed4f0cf..acb9d8f 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleClassFunctionsTest.java
@@ -51,9 +51,9 @@
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.ParserInput;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkFile;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.syntax.SyntaxError;
 import com.google.devtools.build.lib.syntax.Tuple;
@@ -1279,7 +1279,7 @@
     return StructProvider.STRUCT.create(
         ImmutableMap.<String, Object>of(
             "a",
-                MutableList.<Object>of(
+                StarlarkList.<Object>of(
                     thread,
                     StructProvider.STRUCT.create(
                         ImmutableMap.<String, Object>of(
@@ -1296,8 +1296,8 @@
     assertThat(EvalUtils.isImmutable(makeStruct("a", 1))).isTrue();
   }
 
-  private static MutableList<Object> makeList(StarlarkThread thread) {
-    return MutableList.<Object>of(thread, 1, 2, 3);
+  private static StarlarkList<Object> makeList(StarlarkThread thread) {
+    return StarlarkList.<Object>of(thread, 1, 2, 3);
   }
 
   @Test
@@ -1752,7 +1752,7 @@
     invalidatePackages();
     SkylarkRuleContext context = createRuleContext("//test:check");
     @SuppressWarnings("unchecked")
-    MutableList<Object> params = (MutableList<Object>) context.getAttr().getValue("params");
+    StarlarkList<Object> params = (StarlarkList<Object>) context.getAttr().getValue("params");
     assertThat(params.get(0)).isEqualTo("NoneType");
     assertThat(params.get(1)).isEqualTo("NoneType");
   }
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
index 2a7b2b7..423f92e 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java
@@ -51,6 +51,7 @@
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
@@ -2016,8 +2017,8 @@
     assertThat(eval("type(action)")).isEqualTo("Action");
 
     Object argvUnchecked = eval("action.argv");
-    assertThat(argvUnchecked).isInstanceOf(SkylarkList.MutableList.class);
-    SkylarkList.MutableList<?> argv = (SkylarkList.MutableList) argvUnchecked;
+    assertThat(argvUnchecked).isInstanceOf(StarlarkList.class);
+    StarlarkList<?> argv = (StarlarkList) argvUnchecked;
     assertThat(argv).hasSize(3);
     assertThat(argv.isImmutable()).isTrue();
     Object result = eval("action.argv[2].startswith('echo foo123')");
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 36040c6..8e67867 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
@@ -62,9 +62,9 @@
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.SkylarkList;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
+import com.google.devtools.build.lib.syntax.StarlarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.testutil.MoreAsserts;
 import com.google.devtools.build.lib.util.Fingerprint;
@@ -659,7 +659,7 @@
         "  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");
+    List<String> argv = (List<String>) (List<?>) (StarlarkList) lookup("argv");
     assertThat(argv).hasSize(3);
     assertMatches("argv[0]", "^.*/bash" + OsUtils.executableExtension() + "$", argv.get(0));
     assertThat(argv.get(1)).isEqualTo("-c");
@@ -673,7 +673,7 @@
         "inputs, argv, input_manifests = ruleContext.resolve_command(",
         "   tools=ruleContext.attr.tools)");
     @SuppressWarnings("unchecked")
-    List<Artifact> inputs = (List<Artifact>) (List<?>) (MutableList) lookup("inputs");
+    List<Artifact> inputs = (List<Artifact>) (List<?>) (StarlarkList) lookup("inputs");
     assertArtifactFilenames(
         inputs,
         "mytool.sh",
@@ -701,7 +701,7 @@
         "    attribute='cmd', expand_locations=True, label_dict=label_dict)",
         "inputs, argv, manifests = foo()");
     @SuppressWarnings("unchecked")
-    List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
+    List<String> argv = (List<String>) (List<?>) (StarlarkList) lookup("argv");
     assertThat(argv).hasSize(3);
     assertMatches("argv[0]", "^.*/bash" + OsUtils.executableExtension() + "$", argv.get(0));
     assertThat(argv.get(1)).isEqualTo("-c");
@@ -716,7 +716,7 @@
         "inputs, argv, manifests = ruleContext.resolve_command(",
         "  execution_requirements={'requires-darwin': ''})");
     @SuppressWarnings("unchecked")
-    List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
+    List<String> argv = (List<String>) (List<?>) (StarlarkList) lookup("argv");
     assertMatches("argv[0]", "^/bin/bash$", argv.get(0));
   }
 
@@ -731,7 +731,7 @@
         "    command=s)",
         "argv = foo()[1]");
     @SuppressWarnings("unchecked")
-    List<String> argv = (List<String>) (List<?>) (MutableList) lookup("argv");
+    List<String> argv = (List<String>) (List<?>) (StarlarkList) lookup("argv");
     assertThat(argv).hasSize(2);
     assertMatches("argv[0]", "^.*/bash" + OsUtils.executableExtension() + "$", argv.get(0));
     assertMatches("argv[1]", "^.*/resolve_me[.][a-z0-9]+[.]script[.]sh$", argv.get(1));
@@ -1823,7 +1823,7 @@
   public void testEmptyLabelListTypeAttrInCtx() throws Exception {
     setRuleContext(createRuleContext("//foo:baz"));
     Object result = eval("ruleContext.attr.srcs");
-    assertThat(result).isEqualTo(MutableList.empty());
+    assertThat(result).isEqualTo(StarlarkList.empty());
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
index e99247f..2d7d8f8 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvalUtilsTest.java
@@ -24,7 +24,6 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalUtils.ComparisonException;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -37,8 +36,8 @@
 @RunWith(JUnit4.class)
 public class EvalUtilsTest extends EvaluationTestCase {
 
-  private static MutableList<Object> makeList(StarlarkThread thread) {
-    return MutableList.of(thread, 1, 2, 3);
+  private static StarlarkList<Object> makeList(StarlarkThread thread) {
+    return StarlarkList.of(thread, 1, 2, 3);
   }
 
   private static SkylarkDict<Object, Object> makeDict(StarlarkThread thread) {
@@ -98,8 +97,8 @@
       Starlark.NONE,
       Tuple.of(1, 2, 3),
       Tuple.of("1", "2", "3"),
-      SkylarkList.MutableList.of(thread, 1, 2, 3),
-      SkylarkList.MutableList.of(thread, "1", "2", "3"),
+      StarlarkList.of(thread, 1, 2, 3),
+      StarlarkList.of(thread, "1", "2", "3"),
       SkylarkDict.of(thread, "key", 123),
       SkylarkDict.of(thread, 123, "value"),
       NestedSetBuilder.stableOrder().add(1).add(2).add(3).build(),
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index 17b0c21..910ed32 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -19,7 +19,6 @@
 import com.google.devtools.build.lib.events.EventCollector;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
 import com.google.devtools.build.lib.testutil.TestMode;
 import java.util.Collections;
@@ -274,7 +273,7 @@
     // list
     Object x = eval("[1,2] + [3,4]");
     assertThat((Iterable<Object>) x).containsExactly(1, 2, 3, 4).inOrder();
-    assertThat(x).isEqualTo(MutableList.of(thread, 1, 2, 3, 4));
+    assertThat(x).isEqualTo(StarlarkList.of(thread, 1, 2, 3, 4));
     assertThat(EvalUtils.isImmutable(x)).isFalse();
 
     // tuple
@@ -466,7 +465,7 @@
   @Test
   public void testListConcatenation() throws Exception {
     newTest()
-        .testExpression("[1, 2] + [3, 4]", MutableList.of(thread, 1, 2, 3, 4))
+        .testExpression("[1, 2] + [3, 4]", StarlarkList.of(thread, 1, 2, 3, 4))
         .testExpression("(1, 2) + (3, 4)", Tuple.of(1, 2, 3, 4))
         .testIfExactError(
             "unsupported operand type(s) for +: 'list' and 'tuple'", "[1, 2] + (3, 4)")
@@ -477,18 +476,18 @@
   @Test
   public void testListMultiply() throws Exception {
     newTest()
-        .testExpression("[1, 2, 3] * 1", MutableList.of(thread, 1, 2, 3))
-        .testExpression("[1, 2] * 2", MutableList.of(thread, 1, 2, 1, 2))
-        .testExpression("[1, 2] * 3", MutableList.of(thread, 1, 2, 1, 2, 1, 2))
-        .testExpression("[1, 2] * 4", MutableList.of(thread, 1, 2, 1, 2, 1, 2, 1, 2))
-        .testExpression("[8] * 5", MutableList.of(thread, 8, 8, 8, 8, 8))
-        .testExpression("[    ] * 10", MutableList.empty())
-        .testExpression("[1, 2] * 0", MutableList.empty())
-        .testExpression("[1, 2] * -4", MutableList.empty())
-        .testExpression("2 * [1, 2]", MutableList.of(thread, 1, 2, 1, 2))
-        .testExpression("10 * []", MutableList.empty())
-        .testExpression("0 * [1, 2]", MutableList.empty())
-        .testExpression("-4 * [1, 2]", MutableList.empty());
+        .testExpression("[1, 2, 3] * 1", StarlarkList.of(thread, 1, 2, 3))
+        .testExpression("[1, 2] * 2", StarlarkList.of(thread, 1, 2, 1, 2))
+        .testExpression("[1, 2] * 3", StarlarkList.of(thread, 1, 2, 1, 2, 1, 2))
+        .testExpression("[1, 2] * 4", StarlarkList.of(thread, 1, 2, 1, 2, 1, 2, 1, 2))
+        .testExpression("[8] * 5", StarlarkList.of(thread, 8, 8, 8, 8, 8))
+        .testExpression("[    ] * 10", StarlarkList.empty())
+        .testExpression("[1, 2] * 0", StarlarkList.empty())
+        .testExpression("[1, 2] * -4", StarlarkList.empty())
+        .testExpression("2 * [1, 2]", StarlarkList.of(thread, 1, 2, 1, 2))
+        .testExpression("10 * []", StarlarkList.empty())
+        .testExpression("0 * [1, 2]", StarlarkList.empty())
+        .testExpression("-4 * [1, 2]", StarlarkList.empty());
   }
 
   @Test
@@ -560,7 +559,7 @@
   public void testListComprehensionOnDictionaryCompositeExpression() throws Exception {
     new BuildTest()
         .setUp("d = {1:'a',2:'b'}", "l = [d[x] for x in d]")
-        .testLookup("l", MutableList.of(thread, "a", "b"));
+        .testLookup("l", StarlarkList.of(thread, "a", "b"));
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java b/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
index 5f95d11..38e8591 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/PrinterTest.java
@@ -22,7 +22,6 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import java.util.IllegalFormatException;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -59,20 +58,18 @@
     assertThat(Printer.repr(Label.parseAbsolute("//x", ImmutableMap.of())))
         .isEqualTo("Label(\"//x:x\")");
 
-    List<?> list = MutableList.of(null, "foo", "bar");
+    List<?> list = StarlarkList.of(null, "foo", "bar");
     List<?> tuple = Tuple.of("foo", "bar");
 
     assertThat(Printer.str(Tuple.of(1, list, 3))).isEqualTo("(1, [\"foo\", \"bar\"], 3)");
     assertThat(Printer.repr(Tuple.of(1, list, 3))).isEqualTo("(1, [\"foo\", \"bar\"], 3)");
-    assertThat(Printer.str(MutableList.of(null, 1, tuple, 3)))
+    assertThat(Printer.str(StarlarkList.of(null, 1, tuple, 3)))
         .isEqualTo("[1, (\"foo\", \"bar\"), 3]");
-    assertThat(Printer.repr(MutableList.of(null, 1, tuple, 3)))
+    assertThat(Printer.repr(StarlarkList.of(null, 1, tuple, 3)))
         .isEqualTo("[1, (\"foo\", \"bar\"), 3]");
 
-    Map<Object, Object> dict = ImmutableMap.<Object, Object>of(
-        1, tuple,
-        2, list,
-        "foo", MutableList.of(null));
+    Map<Object, Object> dict =
+        ImmutableMap.<Object, Object>of(1, tuple, 2, list, "foo", StarlarkList.of(null));
     assertThat(Printer.str(dict))
         .isEqualTo("{1: (\"foo\", \"bar\"), 2: [\"foo\", \"bar\"], \"foo\": []}");
     assertThat(Printer.repr(dict))
@@ -114,9 +111,9 @@
         "%%s", "foo");
     checkFormatPositionalFails("unsupported format character \" \" at index 1 in \"% %s\"",
         "% %s", "foo");
-    assertThat(Printer.format("%s", MutableList.of(null, 1, 2, 3))).isEqualTo("[1, 2, 3]");
+    assertThat(Printer.format("%s", StarlarkList.of(null, 1, 2, 3))).isEqualTo("[1, 2, 3]");
     assertThat(Printer.format("%s", Tuple.of(1, 2, 3))).isEqualTo("(1, 2, 3)");
-    assertThat(Printer.format("%s", MutableList.of(null))).isEqualTo("[]");
+    assertThat(Printer.format("%s", StarlarkList.of(null))).isEqualTo("[]");
     assertThat(Printer.format("%s", Tuple.of())).isEqualTo("()");
     assertThat(Printer.format("%% %d %r %s", 1, "2", "3")).isEqualTo("% 1 \"2\" 3");
 
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 787e013..de86116 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -35,7 +35,6 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.testutil.TestMode;
 import java.util.List;
@@ -792,15 +791,18 @@
   @Test
   public void testForDeepUpdate() throws Exception {
     // Check that indirectly reachable values can still be manipulated as normal.
-    new SkylarkTest().setUp("def foo():",
-        "  xs = [['a'], ['b'], ['c']]",
-        "  ys = []",
-        "  for x in xs:",
-        "    for y in x:",
-        "      ys.append(y)",
-        "    xs[2].append(x[0])",
-        "  return ys",
-        "ys = foo()").testLookup("ys", MutableList.of(null, "a", "b", "c", "a", "b"));
+    new SkylarkTest()
+        .setUp(
+            "def foo():",
+            "  xs = [['a'], ['b'], ['c']]",
+            "  ys = []",
+            "  for x in xs:",
+            "    for y in x:",
+            "      ys.append(y)",
+            "    xs[2].append(x[0])",
+            "  return ys",
+            "ys = foo()")
+        .testLookup("ys", StarlarkList.of(null, "a", "b", "c", "a", "b"));
   }
 
   @Test
@@ -1090,7 +1092,7 @@
             "    modified_list = v + ['extra_string']",
             "  return modified_list",
             "m = func(mock)")
-        .testLookup("m", MutableList.of(thread, "b", "c", "extra_string"));
+        .testLookup("m", StarlarkList.of(thread, "b", "c", "extra_string"));
   }
 
   @Test
@@ -1572,7 +1574,7 @@
             "  return value",
             "",
             "f()[1] += 1") // `f()` should be called only once here
-        .testLookup("counter", MutableList.of(thread, 1));
+        .testLookup("counter", StarlarkList.of(thread, 1));
 
     // Check key position.
     new SkylarkTest()
@@ -1585,7 +1587,7 @@
             "  return 1",
             "",
             "value[f()] += 1") // `f()` should be called only once here
-        .testLookup("counter", MutableList.of(thread, 1));
+        .testLookup("counter", StarlarkList.of(thread, 1));
   }
 
   @Test
@@ -1625,8 +1627,8 @@
             "",
             "f(ordinary)[0] = g(ordinary)[1]",
             "f(augmented)[0] += g(augmented)[1]")
-        .testLookup("ordinary", MutableList.of(thread, "g", "f")) // This order is consistent
-        .testLookup("augmented", MutableList.of(thread, "f", "g")); // with Python
+        .testLookup("ordinary", StarlarkList.of(thread, "g", "f")) // This order is consistent
+        .testLookup("augmented", StarlarkList.of(thread, "f", "g")); // with Python
   }
 
   @Test
@@ -1764,10 +1766,9 @@
 
   @Test
   public void testAssignmentToListInDictSideEffect() throws Exception {
-    new SkylarkTest().setUp(
-        "l = [1, 2]",
-        "d = {0: l}",
-        "d[0].append(3)").testLookup("l", MutableList.of(null, 1, 2, 3));
+    new SkylarkTest()
+        .setUp("l = [1, 2]", "d = {0: l}", "d[0].append(3)")
+        .testLookup("l", StarlarkList.of(null, 1, 2, 3));
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkListTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkListTest.java
index 511f6a3..d31a7e0 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkListTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkListTest.java
@@ -18,7 +18,6 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
 import java.util.ArrayList;
 import org.junit.Test;
@@ -242,7 +241,7 @@
   @Test
   public void testMutatorsCheckMutability() throws Exception {
     Mutability mutability = Mutability.create("test");
-    MutableList<Object> list = MutableList.copyOf(mutability, ImmutableList.of(1, 2, 3));
+    StarlarkList<Object> list = StarlarkList.copyOf(mutability, ImmutableList.of(1, 2, 3));
     mutability.freeze();
 
     EvalException e = assertThrows(EvalException.class, () -> list.add(4, null, mutability));
@@ -262,7 +261,7 @@
   @Test
   public void testCannotMutateAfterShallowFreeze() throws Exception {
     Mutability mutability = Mutability.createAllowingShallowFreeze("test");
-    MutableList<Object> list = MutableList.copyOf(mutability, ImmutableList.of(1, 2, 3));
+    StarlarkList<Object> list = StarlarkList.copyOf(mutability, ImmutableList.of(1, 2, 3));
     list.unsafeShallowFreeze();
 
     EvalException e = assertThrows(EvalException.class, () -> list.add(4, null, mutability));
@@ -273,7 +272,7 @@
   public void testCopyOfTakesCopy() throws EvalException {
     ArrayList<String> copyFrom = Lists.newArrayList("hi");
     Mutability mutability = Mutability.create("test");
-    MutableList<String> mutableList = MutableList.copyOf(mutability, copyFrom);
+    StarlarkList<String> mutableList = StarlarkList.copyOf(mutability, copyFrom);
     copyFrom.add("added1");
     mutableList.add("added2", /*loc=*/ null, mutability);
 
@@ -285,7 +284,7 @@
   public void testWrapUnsafeTakesOwnershipOfPassedArrayList() throws EvalException {
     ArrayList<String> wrapped = Lists.newArrayList("hi");
     Mutability mutability = Mutability.create("test");
-    MutableList<String> mutableList = MutableList.wrapUnsafe(mutability, wrapped);
+    StarlarkList<String> mutableList = StarlarkList.wrapUnsafe(mutability, wrapped);
 
     // Big no-no, but we're proving a point.
     wrapped.add("added1");
@@ -298,9 +297,9 @@
   public void testGetSkylarkType_GivesExpectedClassesForListsAndTuples() throws Exception {
     Class<?> emptyTupleClass = Tuple.empty().getClass();
     Class<?> tupleClass = Tuple.of(1, "a", "b").getClass();
-    Class<?> mutableListClass = MutableList.copyOf(thread, Tuple.of(1, 2, 3)).getClass();
+    Class<?> mutableListClass = StarlarkList.copyOf(thread, Tuple.of(1, 2, 3)).getClass();
 
-    assertThat(EvalUtils.getSkylarkType(mutableListClass)).isEqualTo(MutableList.class);
+    assertThat(EvalUtils.getSkylarkType(mutableListClass)).isEqualTo(StarlarkList.class);
     assertThat(EvalUtils.getSkylarkType(emptyTupleClass)).isEqualTo(Tuple.class);
     assertThat(EvalUtils.getSkylarkType(tupleClass)).isEqualTo(Tuple.class);
   }
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkMutableTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkMutableTest.java
index 46dc09b..d7ba159 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkMutableTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkMutableTest.java
@@ -18,7 +18,6 @@
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -33,7 +32,7 @@
   @Test
   public void testListViewsCheckMutability() throws Exception {
     Mutability mutability = Mutability.create("test");
-    MutableList<Object> list = MutableList.copyOf(mutability, ImmutableList.of(1, 2, 3));
+    StarlarkList<Object> list = StarlarkList.copyOf(mutability, ImmutableList.of(1, 2, 3));
     mutability.freeze();
 
     {
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 62bfbc9..3445388 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
@@ -19,7 +19,6 @@
 import com.google.common.collect.ImmutableList;
 import com.google.devtools.build.lib.collect.nestedset.NestedSet;
 import com.google.devtools.build.lib.collect.nestedset.Order;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.util.EvaluationTestCase;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -493,7 +492,7 @@
         "s = depset() + [2, 4, 6] + [3, 4, 5]", //
         "x = s.to_list()");
     Object value = lookup("x");
-    assertThat(value).isInstanceOf(MutableList.class);
+    assertThat(value).isInstanceOf(StarlarkList.class);
     assertThat((Iterable<?>) value).containsExactly(2, 4, 6, 3, 5).inOrder();
   }