bazel syntax: rename Runtime.NONE to Starlark.NONE and delete Runtime

...and move Runtime.NoneType to top level.

This is a breaking change to copybara.

BEGIN_PUBLIC
bazel syntax: rename Runtime.NONE to Starlark.NONE
END_PUBLIC

PiperOrigin-RevId: 280001048
diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDoc.java
index eb9cf73..ba7b582 100644
--- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDoc.java
+++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDoc.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
 import com.google.devtools.build.lib.syntax.Tuple;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
index a168439..79e0749 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
@@ -20,8 +20,8 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.DefaultInfoApi;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.syntax.Starlark;
 import javax.annotation.Nullable;
 
 /** DefaultInfo is provided by all targets implicitly and contains all standard fields. */
@@ -153,7 +153,7 @@
   }
 
   private static <T> T castNoneToNull(Class<T> clazz, Object value) {
-    if (value == Runtime.NONE) {
+    if (value == Starlark.NONE) {
       return null;
     } else {
       return clazz.cast(value);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
index 4263cca..a5eea45 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/Args.java
@@ -32,7 +32,6 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Mutability;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.Starlark;
@@ -287,20 +286,20 @@
             "Args#add doesn't accept vectorized arguments. "
                 + "Please use Args#add_all or Args#add_joined.");
       }
-      if (mapFn != Runtime.NONE) {
+      if (mapFn != Starlark.NONE) {
         throw new EvalException(
             loc, "Args#add doesn't accept map_fn. Please eagerly map the value.");
       }
-      if (beforeEach != Runtime.NONE) {
+      if (beforeEach != Starlark.NONE) {
         throw new EvalException(null, "'before_each' is not supported for scalar arguments");
       }
-      if (joinWith != Runtime.NONE) {
+      if (joinWith != Starlark.NONE) {
         throw new EvalException(null, "'join_with' is not supported for scalar arguments");
       }
       addScalarArg(
           value,
-          format != Runtime.NONE ? (String) format : null,
-          mapFn != Runtime.NONE ? (BaseFunction) mapFn : null,
+          format != Starlark.NONE ? (String) format : null,
+          mapFn != Starlark.NONE ? (BaseFunction) mapFn : null,
           loc);
       return this;
     }
@@ -334,15 +333,15 @@
           values,
           argName,
           /* mapAll= */ null,
-          mapEach != Runtime.NONE ? (BaseFunction) mapEach : null,
-          formatEach != Runtime.NONE ? (String) formatEach : null,
-          beforeEach != Runtime.NONE ? (String) beforeEach : null,
+          mapEach != Starlark.NONE ? (BaseFunction) mapEach : null,
+          formatEach != Starlark.NONE ? (String) formatEach : null,
+          beforeEach != Starlark.NONE ? (String) beforeEach : null,
           /* joinWith= */ null,
           /* formatJoined= */ null,
           omitIfEmpty,
           uniquify,
           expandDirectories,
-          terminateWith != Runtime.NONE ? (String) terminateWith : null,
+          terminateWith != Starlark.NONE ? (String) terminateWith : null,
           loc);
       return this;
     }
@@ -376,11 +375,11 @@
           values,
           argName,
           /* mapAll= */ null,
-          mapEach != Runtime.NONE ? (BaseFunction) mapEach : null,
-          formatEach != Runtime.NONE ? (String) formatEach : null,
+          mapEach != Starlark.NONE ? (BaseFunction) mapEach : null,
+          formatEach != Starlark.NONE ? (String) formatEach : null,
           /* beforeEach= */ null,
           joinWith,
-          formatJoined != Runtime.NONE ? (String) formatJoined : null,
+          formatJoined != Starlark.NONE ? (String) formatJoined : null,
           omitIfEmpty,
           uniquify,
           expandDirectories,
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionTransitionUtil.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionTransitionUtil.java
index 942a213..f3267ad 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionTransitionUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/FunctionTransitionUtil.java
@@ -27,9 +27,9 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Mutability;
-import com.google.devtools.build.lib.syntax.Runtime;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.Fingerprint;
 import com.google.devtools.common.options.OptionDefinition;
 import com.google.devtools.common.options.OptionsParser;
@@ -175,7 +175,7 @@
           FragmentOptions options = buildOptions.get(optionInfo.getOptionClass());
           Object optionValue = field.get(options);
 
-          dict.put(optionKey, optionValue == null ? Runtime.NONE : optionValue, /*loc=*/ null);
+          dict.put(optionKey, optionValue == null ? Starlark.NONE : optionValue, /*loc=*/ null);
         } catch (IllegalAccessException e) {
           // These exceptions should not happen, but if they do, throw a RuntimeException.
           throw new RuntimeException(e);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
index 3d80730..eb6420a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java
@@ -53,7 +53,6 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
@@ -120,7 +119,7 @@
     context.checkMutable("actions.declare_file");
 
     PathFragment fragment;
-    if (Runtime.NONE.equals(sibling)) {
+    if (Starlark.NONE.equals(sibling)) {
       fragment = ruleContext.getPackageDirectory().getRelative(PathFragment.create(filename));
     } else {
       PathFragment original = ((Artifact) sibling).getRootRelativePath();
@@ -142,7 +141,7 @@
     context.checkMutable("actions.declare_directory");
     PathFragment fragment;
 
-    if (Runtime.NONE.equals(sibling)) {
+    if (Starlark.NONE.equals(sibling)) {
       fragment = ruleContext.getPackageDirectory().getRelative(PathFragment.create(filename));
     } else {
       PathFragment original = ((Artifact) sibling).getRootRelativePath();
@@ -180,7 +179,7 @@
 
     Artifact result;
     PathFragment rootRelativePath;
-    if (Runtime.NONE.equals(sibling)) {
+    if (Starlark.NONE.equals(sibling)) {
       rootRelativePath = ruleContext.getPackageDirectory().getRelative(filename);
     } else {
       PathFragment original = ((Artifact) sibling).getRootRelativePath();
@@ -438,7 +437,7 @@
     registerStarlarkAction(
         outputs,
         inputs,
-        /*unusedInputsList=*/ Runtime.NONE,
+        /*unusedInputsList=*/ Starlark.NONE,
         toolsUnchecked,
         mnemonicUnchecked,
         progressMessage,
@@ -512,7 +511,7 @@
     }
     builder.addOutputs(outputArtifacts);
 
-    if (unusedInputsList != Runtime.NONE) {
+    if (unusedInputsList != Starlark.NONE) {
       if (!starlarkSemantics.experimentalStarlarkUnusedInputsList()) {
         throw new EvalException(
             location,
@@ -605,13 +604,13 @@
 
     String mnemonic = getMnemonic(mnemonicUnchecked);
     builder.setMnemonic(mnemonic);
-    if (envUnchecked != Runtime.NONE) {
+    if (envUnchecked != Starlark.NONE) {
       builder.setEnvironment(
           ImmutableMap.copyOf(
               SkylarkDict.castSkylarkDictOrNoneToDict(
                   envUnchecked, String.class, String.class, "env")));
     }
-    if (progressMessage != Runtime.NONE) {
+    if (progressMessage != Starlark.NONE) {
       builder.setProgressMessageNonLazy((String) progressMessage);
     }
     if (Starlark.truth(useDefaultShellEnv)) {
@@ -625,7 +624,7 @@
             starlarkSemantics.experimentalAllowTagsPropagation());
     builder.setExecutionInfo(executionInfo);
 
-    if (inputManifestsUnchecked != Runtime.NONE) {
+    if (inputManifestsUnchecked != Starlark.NONE) {
       for (RunfilesSupplier supplier : SkylarkList.castSkylarkListOrNoneToList(
           inputManifestsUnchecked, RunfilesSupplier.class, "runfiles suppliers")) {
         builder.addRunfilesSupplier(supplier);
@@ -636,7 +635,7 @@
   }
 
   private String getMnemonic(Object mnemonicUnchecked) {
-    String mnemonic = mnemonicUnchecked == Runtime.NONE ? "Action" : (String) mnemonicUnchecked;
+    String mnemonic = mnemonicUnchecked == Starlark.NONE ? "Action" : (String) mnemonicUnchecked;
     if (ruleContext.getConfiguration().getReservedActionMnemonics().contains(mnemonic)) {
       mnemonic = mangleMnemonic(mnemonic);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
index 7a16632..a3a631c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttr.java
@@ -48,11 +48,11 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkFunction;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.util.FileType;
@@ -73,7 +73,7 @@
   // Arguments
 
   private static boolean containsNonNoneKey(SkylarkDict<String, Object> arguments, String key) {
-    return arguments.containsKey(key) && arguments.get(key) != Runtime.NONE;
+    return arguments.containsKey(key) && arguments.get(key) != Starlark.NONE;
   }
 
   private static void setAllowedFileTypes(
@@ -231,7 +231,7 @@
     }
 
     Object ruleClassesObj = arguments.get(ALLOW_RULES_ARG);
-    if (ruleClassesObj != null && ruleClassesObj != Runtime.NONE) {
+    if (ruleClassesObj != null && ruleClassesObj != Starlark.NONE) {
       builder.allowedRuleClasses(
           SkylarkList.castSkylarkListOrNoneToList(
               ruleClassesObj, String.class, "allowed rule classes for attribute definition"));
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
index 5077f53..573bcca 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkAttributesCollection.java
@@ -29,9 +29,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkAttributesCollectionApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
@@ -169,7 +169,7 @@
         attrBuilder.put(
             skyname,
             val == null
-                ? Runtime.NONE
+                ? Starlark.NONE
                 // Attribute values should be type safe
                 : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
         return;
@@ -192,7 +192,7 @@
             seenExecutables.add(executable);
           }
         } else {
-          executableBuilder.put(skyname, Runtime.NONE);
+          executableBuilder.put(skyname, Starlark.NONE);
         }
       }
       if (a.isSingleArtifact()) {
@@ -202,7 +202,7 @@
         if (artifact != null) {
           fileBuilder.put(skyname, artifact);
         } else {
-          fileBuilder.put(skyname, Runtime.NONE);
+          fileBuilder.put(skyname, Starlark.NONE);
         }
       }
       filesBuilder.put(
@@ -212,7 +212,7 @@
       if (type == BuildType.LABEL && !a.getTransitionFactory().isSplit()) {
         Object prereq = context.getRuleContext().getPrerequisite(a.getName(), Mode.DONT_CHECK);
         if (prereq == null) {
-          prereq = Runtime.NONE;
+          prereq = Starlark.NONE;
         }
         attrBuilder.put(skyname, prereq);
       } else if (type == BuildType.LABEL_LIST
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
index aeb9bef..4865871 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java
@@ -40,8 +40,8 @@
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Mutability;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.util.Fingerprint;
@@ -837,7 +837,7 @@
             }
             consumer.accept((String) val);
           }
-        } else if (ret != Runtime.NONE) {
+        } else if (ret != Starlark.NONE) {
           throw new CommandLineExpansionException(
               "Expected map_each to return string, None, or list of strings, found "
                   + ret.getClass().getSimpleName());
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
index 0628a15..af59873 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java
@@ -86,11 +86,11 @@
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Identifier;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkFunction;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.util.FileTypeSet;
@@ -326,7 +326,7 @@
       builder.setExecutableSkylark();
     }
 
-    if (implicitOutputs != Runtime.NONE) {
+    if (implicitOutputs != Starlark.NONE) {
       if (implicitOutputs instanceof StarlarkFunction) {
         StarlarkCallbackHelper callback =
             new StarlarkCallbackHelper(
@@ -364,15 +364,15 @@
             ast.getLocation(),
             bazelContext.getRepoMapping()));
 
-    if (!buildSetting.equals(Runtime.NONE) && !cfg.equals(Runtime.NONE)) {
+    if (!buildSetting.equals(Starlark.NONE) && !cfg.equals(Starlark.NONE)) {
       throw new EvalException(
           ast.getLocation(),
           "Build setting rules cannot use the `cfg` param to apply transitions to themselves.");
     }
-    if (!buildSetting.equals(Runtime.NONE)) {
+    if (!buildSetting.equals(Starlark.NONE)) {
       builder.setBuildSetting((BuildSetting) buildSetting);
     }
-    if (!cfg.equals(Runtime.NONE)) {
+    if (!cfg.equals(Starlark.NONE)) {
       if (!(cfg instanceof StarlarkDefinedConfigTransition)) {
         throw new EvalException(
             ast.getLocation(),
@@ -420,7 +420,7 @@
       Object attrs, Location loc) throws EvalException {
     ImmutableList.Builder<Pair<String, Descriptor>> attributes = ImmutableList.builder();
 
-    if (attrs != Runtime.NONE) {
+    if (attrs != Starlark.NONE) {
       for (Map.Entry<String, Descriptor> attr :
           castMap(attrs, String.class, Descriptor.class, "attrs").entrySet()) {
         Descriptor attrDescriptor = attr.getValue();
@@ -670,7 +670,7 @@
         }
         RuleFactory.createAndAddRule(
             pkgContext, ruleClass, attributeValues, loc, thread, new AttributeContainer(ruleClass));
-        return Runtime.NONE;
+        return Starlark.NONE;
       } catch (InvalidRuleException | NameConflictException e) {
         throw new EvalException(loc, e.getMessage());
       }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
index afb841c..351e0f0 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleConfiguredTargetUtil.java
@@ -56,10 +56,10 @@
 import com.google.devtools.build.lib.syntax.EvalExceptionWithStackTrace;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Mutability;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -139,7 +139,7 @@
       if (ruleContext.hasErrors()) {
         return null;
       } else if (!(target instanceof InfoInterface)
-          && target != Runtime.NONE
+          && target != Starlark.NONE
           && !(target instanceof Iterable)) {
         ruleContext.ruleError(
             String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
index ef19455..ed07174 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -79,8 +79,8 @@
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
 import com.google.devtools.build.lib.syntax.SkylarkList;
@@ -208,7 +208,7 @@
           if (artifacts.size() == 1) {
             outputs.addOutput(attrName, Iterables.getOnlyElement(artifacts));
           } else {
-            outputs.addOutput(attrName, Runtime.NONE);
+            outputs.addOutput(attrName, Starlark.NONE);
           }
         } else if (type == BuildType.OUTPUT_LIST) {
           outputs.addOutput(attrName, SkylarkList.createImmutable(artifacts));
@@ -455,7 +455,7 @@
           // behaves like getPrerequisites(). This also means there should be only one entry in
           // the map. Use None in Skylark to represent this.
           Preconditions.checkState(splitPrereqs.size() == 1);
-          splitPrereqsMap.put(Runtime.NONE, value);
+          splitPrereqsMap.put(Starlark.NONE, value);
         }
       }
 
@@ -507,7 +507,7 @@
       return ActionsProvider.create(
           ruleContext.getAnalysisEnvironment().getRegisteredActions());
     } else {
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
   }
 
@@ -615,7 +615,7 @@
     if (!config.isCodeCoverageEnabled()) {
       return false;
     }
-    if (targetUnchecked == Runtime.NONE) {
+    if (targetUnchecked == Starlark.NONE) {
       return InstrumentedFilesCollector.shouldIncludeLocalSources(
           ruleContext.getConfiguration(), ruleContext.getLabel(), ruleContext.isTestTarget());
     }
@@ -760,7 +760,7 @@
       String filename =
           assertTypeForNewFile(var1, String.class, loc,
               "expected first param to be of type 'string'");
-      return actionFactory.declareFile(filename, Runtime.NONE, loc);
+      return actionFactory.declareFile(filename, Starlark.NONE, loc);
 
     } else {
       String filename = assertTypeForNewFile(var2, String.class, loc,
@@ -876,7 +876,7 @@
    * command = 'command', )
    */
   @Override
-  public Runtime.NoneType action(
+  public NoneType action(
       SkylarkList<?> outputs,
       Object inputs,
       Object executableUnchecked,
@@ -895,16 +895,16 @@
     checkDeprecated(
         "ctx.actions.run or ctx.actions.run_shell", "ctx.action", loc, thread.getSemantics());
     checkMutable("action");
-    if ((commandUnchecked == Runtime.NONE) == (executableUnchecked == Runtime.NONE)) {
+    if ((commandUnchecked == Starlark.NONE) == (executableUnchecked == Starlark.NONE)) {
       throw new EvalException(loc, "You must specify either 'command' or 'executable' argument");
     }
-    boolean hasCommand = commandUnchecked != Runtime.NONE;
+    boolean hasCommand = commandUnchecked != Starlark.NONE;
     if (!hasCommand) {
       actions()
           .run(
               outputs,
               inputs,
-              /*unusedInputsList=*/ Runtime.NONE,
+              /*unusedInputsList=*/ Starlark.NONE,
               executableUnchecked,
               toolsUnchecked,
               arguments,
@@ -933,7 +933,7 @@
               loc,
               thread.getSemantics());
     }
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
@@ -952,26 +952,26 @@
   }
 
   @Override
-  public Runtime.NoneType fileAction(
+  public NoneType fileAction(
       FileApi output, String content, Boolean executable, Location loc, StarlarkThread thread)
       throws EvalException {
     checkDeprecated("ctx.actions.write", "ctx.file_action", loc, thread.getSemantics());
     checkMutable("file_action");
     actions().write(output, content, executable, loc);
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
-  public Runtime.NoneType emptyAction(
-      String mnemonic, Object inputs, Location loc, StarlarkThread thread) throws EvalException {
+  public NoneType emptyAction(String mnemonic, Object inputs, Location loc, StarlarkThread thread)
+      throws EvalException {
     checkDeprecated("ctx.actions.do_nothing", "ctx.empty_action", loc, thread.getSemantics());
     checkMutable("empty_action");
     actions().doNothing(mnemonic, inputs, loc);
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
-  public Runtime.NoneType templateAction(
+  public NoneType templateAction(
       FileApi template,
       FileApi output,
       SkylarkDict<?, ?> substitutionsUnchecked,
@@ -983,7 +983,7 @@
         "ctx.actions.expand_template", "ctx.template_action", loc, thread.getSemantics());
     checkMutable("template_action");
     actions().expandTemplate(template, output, substitutionsUnchecked, executable, loc);
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
@@ -1010,7 +1010,7 @@
     if (!files.isEmpty()) {
       builder.addArtifacts(files.getContents(Artifact.class, "files"));
     }
-    if (transitiveFiles != Runtime.NONE) {
+    if (transitiveFiles != Starlark.NONE) {
       builder.addTransitiveArtifacts(
           ((SkylarkNestedSet) transitiveFiles).getSetFromParam(Artifact.class, "transitive_files"));
     }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
index eed5fb3..ad4314f 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkAttributeTransitionProvider.java
@@ -34,8 +34,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -96,7 +96,7 @@
         Object val = attributeMap.get(attribute, attributeMap.getAttributeType(attribute));
         attributes.put(
             Attribute.getSkylarkName(attribute),
-            val == null ? Runtime.NONE : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
+            val == null ? Starlark.NONE : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
       }
       attrObject = StructProvider.STRUCT.create(attributes, ERROR_MESSAGE_FOR_NO_ATTR);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkRuleTransitionProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkRuleTransitionProvider.java
index fe48139..df22024 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkRuleTransitionProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/StarlarkRuleTransitionProvider.java
@@ -30,8 +30,8 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.StructProvider;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -91,7 +91,7 @@
         }
         attributes.put(
             Attribute.getSkylarkName(attribute.getPublicName()),
-            val == null ? Runtime.NONE : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
+            val == null ? Starlark.NONE : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
       }
       attrObject =
           StructProvider.STRUCT.create(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
index acd7d0a..59d1854 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
@@ -25,8 +25,8 @@
 import com.google.devtools.build.lib.skylarkbuildapi.test.InstrumentedFilesInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import java.util.Arrays;
@@ -46,7 +46,7 @@
       Location location)
       throws EvalException {
     List<String> extensionsList =
-        extensions == Runtime.NONE
+        extensions == Starlark.NONE
             ? null
             : SkylarkList.castList((List<?>) extensions, String.class, "extensions");
 
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedEvent.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedEvent.java
index 5bb9d9c..53d0a2d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/RepositoryResolvedEvent.java
@@ -30,7 +30,7 @@
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.Pair;
 import com.google.devtools.build.lib.vfs.Path;
 import java.io.IOException;
@@ -105,7 +105,7 @@
     }
     this.directoryDigest = digest;
 
-    if (result == Runtime.NONE) {
+    if (result == Starlark.NONE) {
       // Rule claims to be already reproducible, so wants to be called as is.
       builder.put(
           REPOSITORIES,
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
index 26a3d46..c89f705 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryContext.java
@@ -56,10 +56,10 @@
 import com.google.devtools.build.lib.skylarkbuildapi.repository.SkylarkRepositoryContextApi;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.util.OS;
@@ -144,7 +144,7 @@
         attrBuilder.put(
             Attribute.getSkylarkName(name),
             val == null
-                ? Runtime.NONE
+                ? Starlark.NONE
                 // Attribute values should be type safe
                 : SkylarkType.convertToSkylark(val, (StarlarkThread) null));
       }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
index c14d0d5..f6e2fcb 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/SkylarkRepositoryModule.java
@@ -46,9 +46,9 @@
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
 import com.google.devtools.build.lib.syntax.Identifier;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.Map;
 
@@ -80,7 +80,7 @@
     BaseRuleClasses.nameAttribute(builder);
     BaseRuleClasses.commonCoreAndSkylarkAttributes(builder);
     builder.add(attr("expect_failure", STRING));
-    if (attrs != Runtime.NONE) {
+    if (attrs != Starlark.NONE) {
       for (Map.Entry<String, Descriptor> attr :
           castMap(attrs, String.class, Descriptor.class, "attrs").entrySet()) {
         Descriptor attrDescriptor = attr.getValue();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index 89201b3..30c6b62 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -44,7 +44,7 @@
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.util.StringUtil;
@@ -1493,7 +1493,7 @@
               attrValues, "No such regular (non computed) attribute '%s'.");
       Object result = callback.call(eventHandler, attrs);
       try {
-        return type.cast((result == Runtime.NONE) ? type.getDefaultValue() : result);
+        return type.cast((result == Starlark.NONE) ? type.getDefaultValue() : result);
       } catch (ClassCastException ex) {
         throw new EvalException(
             location,
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
index d272543..4d68711 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/BuildType.java
@@ -11,7 +11,6 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
-
 package com.google.devtools.build.lib.packages;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -35,8 +34,8 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.Printer;
 import com.google.devtools.build.lib.syntax.Printer.BasePrinter;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SelectorValue;
+import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -624,7 +623,7 @@
         if (key.equals(DEFAULT_CONDITION_LABEL)) {
           foundDefaultCondition = true;
         }
-        if (entry.getValue() == Runtime.NONE) {
+        if (entry.getValue() == Starlark.NONE) {
           // { "//condition": None } is the same as not setting the value.
           result.put(key, originalType.getDefaultValue());
           defaultValuesBuilder.add(key);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
index 86c92ac..fa90b26 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/ImplicitOutputsFunction.java
@@ -33,7 +33,7 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.StringUtil;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -99,7 +99,7 @@
         // since we don't yet have a build configuration.
         if (!map.isConfigurable(attrName)) {
           Object value = map.get(attrName, attrType);
-          attrValues.put(attrName, value == null ? Runtime.NONE : value);
+          attrValues.put(attrName, value == null ? Starlark.NONE : value);
         }
       }
       ClassObject attrs =
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index 6d65a73..4b8a349 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -55,8 +55,8 @@
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.Node;
 import com.google.devtools.build.lib.syntax.NodeVisitor;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.ParserInput;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkUtils;
 import com.google.devtools.build.lib.syntax.SkylarkUtils.Phase;
 import com.google.devtools.build.lib.syntax.Starlark;
@@ -539,7 +539,7 @@
               loc, "at least one argument must be given to the 'package' function");
         }
 
-        return Runtime.NONE;
+        return Starlark.NONE;
       }
     };
   }
@@ -591,7 +591,7 @@
     }
 
     @SuppressWarnings("unused")
-    public Runtime.NoneType invoke(Map<String, Object> kwargs, Location loc, StarlarkThread thread)
+    public NoneType invoke(Map<String, Object> kwargs, Location loc, StarlarkThread thread)
         throws EvalException, InterruptedException {
       SkylarkUtils.checkLoadingOrWorkspacePhase(thread, ruleClassName, loc);
       try {
@@ -599,7 +599,7 @@
       } catch (RuleFactory.InvalidRuleException | Package.NameConflictException e) {
         throw new EvalException(loc, e.getMessage());
       }
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
 
     private void addRule(
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index af803b0..6e2197d 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -57,8 +57,8 @@
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.util.StringUtil;
 import com.google.devtools.build.lib.vfs.PathFragment;
@@ -1880,7 +1880,7 @@
    * attributeValues} map.
    *
    * <p>Handles the special cases of the attribute named {@code "name"} and attributes with value
-   * {@link Runtime#NONE}.
+   * {@link Starlark#NONE}.
    *
    * <p>Returns a bitset {@code b} where {@code b.get(i)} is {@code true} if this method set a value
    * for the attribute with index {@code i} in this {@link RuleClass}. Errors are reported on {@code
@@ -1897,7 +1897,7 @@
       String attributeName = attributeValues.getName(attributeAccessor);
       Object attributeValue = attributeValues.getValue(attributeAccessor);
       // Ignore all None values.
-      if (attributeValue == Runtime.NONE) {
+      if (attributeValue == Starlark.NONE) {
         continue;
       }
 
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
index df4030b..3687650 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkNativeModule.java
@@ -36,7 +36,7 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Mutability;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.NoneType;
 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;
@@ -131,7 +131,7 @@
     PackageContext context = getContext(thread, loc);
     Target target = context.pkgBuilder.getTarget(name);
     SkylarkDict<String, Object> rule = targetDict(target, loc, thread.mutability());
-    return rule != null ? rule : Runtime.NONE;
+    return rule != null ? rule : Starlark.NONE;
   }
 
   /*
@@ -158,7 +158,7 @@
   }
 
   @Override
-  public Runtime.NoneType packageGroup(
+  public NoneType packageGroup(
       String name,
       SkylarkList<?> packagesO,
       SkylarkList<?> includesO,
@@ -176,7 +176,7 @@
 
     try {
       context.pkgBuilder.addPackageGroup(name, packages, includes, context.eventHandler, loc);
-      return Runtime.NONE;
+      return Starlark.NONE;
     } catch (LabelSyntaxException e) {
       throw new EvalException(
           loc, "package group has invalid name: " + name + ": " + e.getMessage());
@@ -186,7 +186,7 @@
   }
 
   @Override
-  public Runtime.NoneType exportsFiles(
+  public NoneType exportsFiles(
       SkylarkList<?> srcs,
       Object visibilityO,
       Object licensesO,
@@ -262,7 +262,7 @@
         throw new EvalException(loc, e.getMessage());
       }
     }
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkBuildLibrary.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkBuildLibrary.java
index 74a1562..6e89c94 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkBuildLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkBuildLibrary.java
@@ -27,7 +27,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -87,7 +87,7 @@
       documented = false,
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType environmentGroup(
+  public NoneType environmentGroup(
       String name,
       SkylarkList<?> environmentsList, // <Label>
       SkylarkList<?> defaultsList, // <Label>
@@ -111,7 +111,7 @@
     try {
       context.pkgBuilder.addEnvironmentGroup(
           name, environments, defaults, context.eventHandler, loc);
-      return Runtime.NONE;
+      return Starlark.NONE;
     } catch (LabelSyntaxException e) {
       throw new EvalException(
           loc, "environment group has invalid name: " + name + ": " + e.getMessage());
@@ -135,7 +135,7 @@
       documented = false,
       useStarlarkThread = true,
       useLocation = true)
-  public Runtime.NoneType invoke(
+  public NoneType invoke(
       SkylarkList<?> licensesList, // list of license strings
       Location loc,
       StarlarkThread thread)
@@ -148,7 +148,7 @@
       context.eventHandler.handle(Event.error(loc, e.getMessage()));
       context.pkgBuilder.setContainsErrors();
     }
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @SkylarkCallable(
@@ -162,7 +162,7 @@
       documented = false,
       useStarlarkThread = true,
       useLocation = true)
-  public Runtime.NoneType distribs(Object object, Location loc, StarlarkThread thread)
+  public NoneType distribs(Object object, Location loc, StarlarkThread thread)
       throws EvalException {
     PackageContext context = getContext(thread, loc);
 
@@ -174,6 +174,6 @@
       context.eventHandler.handle(Event.error(loc, e.getMessage()));
       context.pkgBuilder.setContainsErrors();
     }
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
index ab9f88c..b061b53 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StructImpl.java
@@ -27,10 +27,10 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.protobuf.TextFormat;
 import java.io.Serializable;
@@ -287,7 +287,7 @@
 
   private void printJson(Object value, StringBuilder sb, Location loc, String container, String key)
       throws EvalException {
-    if (value == Runtime.NONE) {
+    if (value == Starlark.NONE) {
       sb.append("null");
     } else if (value instanceof ClassObject) {
       sb.append("{");
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
index 9e4f0a2..03dcfc3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
@@ -14,7 +14,7 @@
 
 package com.google.devtools.build.lib.packages;
 
-import static com.google.devtools.build.lib.syntax.Runtime.NONE;
+import static com.google.devtools.build.lib.syntax.Starlark.NONE;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
index ab44235..36b12c6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceGlobals.java
@@ -14,7 +14,7 @@
 
 package com.google.devtools.build.lib.packages;
 
-import static com.google.devtools.build.lib.syntax.Runtime.NONE;
+import static com.google.devtools.build.lib.syntax.Starlark.NONE;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -30,7 +30,7 @@
 import com.google.devtools.build.lib.packages.RuleFactory.InvalidRuleException;
 import com.google.devtools.build.lib.skylarkbuildapi.WorkspaceGlobalsApi;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkData.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkData.java
index d9b72f5..79a09f6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkData.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkData.java
@@ -43,9 +43,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidBinaryDataSettingsApi;
 import com.google.devtools.build.lib.skylarkbuildapi.android.AndroidDataProcessingApi;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.vfs.PathFragment;
 import java.util.List;
@@ -433,7 +433,7 @@
       AndroidDataContext ctx, Location location, StarlarkThread thread) throws EvalException {
     return makeBinarySettings(
         ctx,
-        Runtime.NONE,
+        Starlark.NONE,
         SkylarkList.createImmutable(ImmutableList.of()),
         SkylarkList.createImmutable(ImmutableList.of()),
         SkylarkList.createImmutable(ImmutableList.of()),
@@ -682,14 +682,14 @@
 
   /** Checks if a "Noneable" object passed by Skylark is "None", which Java should treat as null. */
   public static boolean isNone(Object object) {
-    return object == Runtime.NONE;
+    return object == Starlark.NONE;
   }
 
   /**
    * Converts a "Noneable" Object passed by Skylark to an nullable object of the appropriate type.
    *
    * <p>Skylark "Noneable" types are passed in as an Object that may be either the correct type or a
-   * Runtime.NONE object. Skylark will handle type checking, based on the appropriate @param
+   * Starlark.NONE object. Skylark will handle type checking, based on the appropriate @param
    * annotation, but we still need to do the actual cast (or conversion to null) ourselves.
    *
    * @param object the Noneable object
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcInfo.java
index 42929aa..d7f3717 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcInfo.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.packages.NativeInfo;
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcInfoApi;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.Collection;
 import javax.annotation.Nullable;
@@ -179,7 +179,7 @@
 
     @Nullable
     private static <T> T nullIfNone(Object object, Class<T> type) {
-      return object != Runtime.NONE ? type.cast(object) : null;
+      return object != Starlark.NONE ? type.cast(object) : null;
     }
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
index e0e2672..0e36feb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
@@ -59,8 +59,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.cpp.CcModuleApi;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
@@ -690,7 +689,7 @@
   @SuppressWarnings("unchecked")
   private static <T> NestedSet<T> convertToNestedSet(Object o, Class<T> type, String fieldName)
       throws EvalException {
-    if (o == Runtime.NONE) {
+    if (o == Starlark.NONE) {
       return NestedSetBuilder.emptySet(Order.COMPILE_ORDER);
     }
     return o instanceof SkylarkNestedSet
@@ -1383,7 +1382,7 @@
 
   @Nullable
   private static <T> T nullIfNone(Object object, Class<T> type) {
-    return object != Runtime.NONE ? type.cast(object) : null;
+    return object != Starlark.NONE ? type.cast(object) : null;
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index 6df1a04..9ef1c50 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -39,10 +39,10 @@
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaInfoApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.ArrayList;
 import java.util.List;
@@ -62,7 +62,7 @@
 
   @Nullable
   private static <T> T nullIfNone(Object object, Class<T> type) {
-    return object != Runtime.NONE ? type.cast(object) : null;
+    return object != Starlark.NONE ? type.cast(object) : null;
   }
 
   public static final JavaInfo EMPTY = JavaInfo.Builder.create().build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
index 165a231..b0c63c9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
@@ -26,9 +26,9 @@
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCommonApi;
 import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 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.StarlarkSemantics;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
@@ -82,7 +82,7 @@
             sourceJars.getContents(Artifact.class, "source_jars"),
             sourceFiles.getContents(Artifact.class, "source_files"),
             outputJar,
-            outputSourceJar == Runtime.NONE ? null : (Artifact) outputSourceJar,
+            outputSourceJar == Starlark.NONE ? null : (Artifact) outputSourceJar,
             javacOpts.getContents(String.class, "javac_opts"),
             deps.getContents(JavaInfo.class, "deps"),
             exports.getContents(JavaInfo.class, "exports"),
@@ -116,7 +116,7 @@
         .buildIjar(
             actions,
             jar,
-            targetLabel != Runtime.NONE ? (Label) targetLabel : null,
+            targetLabel != Starlark.NONE ? (Label) targetLabel : null,
             javaToolchain,
             location);
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
index 493a428..1293981 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
@@ -44,10 +44,10 @@
 import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleCommonApi;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 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.StarlarkThread;
 import java.util.Map;
 import javax.annotation.Nullable;
@@ -211,7 +211,7 @@
     NestedSet<Artifact> frameworkFiles =
         SkylarkNestedSet.getSetFromNoneableParam(
             dynamicFrameworkFiles, Artifact.class, "framework_files");
-    Artifact binary = (dylibBinary != Runtime.NONE) ? (Artifact) dylibBinary : null;
+    Artifact binary = (dylibBinary != Starlark.NONE) ? (Artifact) dylibBinary : null;
 
     return new AppleDynamicFrameworkInfo(
         binary, depsObjcProvider, frameworkDirs, frameworkFiles);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
index 161cc8b..dbd6416 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyCommon.java
@@ -13,7 +13,7 @@
 // limitations under the License.
 package com.google.devtools.build.lib.rules.python;
 
-import static com.google.devtools.build.lib.syntax.Runtime.NONE;
+import static com.google.devtools.build.lib.syntax.Starlark.NONE;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
index 38f1fba..a07da75 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
@@ -14,7 +14,7 @@
 
 package com.google.devtools.build.lib.rules.python;
 
-import static com.google.devtools.build.lib.syntax.Runtime.NONE;
+import static com.google.devtools.build.lib.syntax.Starlark.NONE;
 
 import com.google.common.base.Preconditions;
 import com.google.devtools.build.lib.actions.Artifact;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
index 9c6e666..1622e4f 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkNativeModuleApi.java
@@ -21,7 +21,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
@@ -176,7 +176,7 @@
       },
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType packageGroup(
+  public NoneType packageGroup(
       String name,
       SkylarkList<?> packages,
       SkylarkList<?> includes,
@@ -218,7 +218,7 @@
       },
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType exportsFiles(
+  public NoneType exportsFiles(
       SkylarkList<?> srcs, Object visibility, Object licenses, Location loc, StarlarkThread thread)
       throws EvalException;
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
index 57f6399..8f78fd7 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
@@ -25,7 +25,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkIndexable;
 import com.google.devtools.build.lib.syntax.SkylarkList;
@@ -576,7 +576,7 @@
             allowedTypes = {
               @ParamType(type = FileApi.class),
               @ParamType(type = String.class),
-              @ParamType(type = Runtime.NoneType.class),
+              @ParamType(type = NoneType.class),
             },
             noneable = true,
             defaultValue = "None",
@@ -621,7 +621,7 @@
             allowedTypes = {
               @ParamType(type = String.class),
               @ParamType(type = SkylarkList.class, generic1 = String.class),
-              @ParamType(type = Runtime.NoneType.class),
+              @ParamType(type = NoneType.class),
             },
             noneable = true,
             defaultValue = "None",
@@ -684,7 +684,7 @@
       allowReturnNones = true,
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType action(
+  public NoneType action(
       SkylarkList<?> outputs,
       Object inputs,
       Object executableUnchecked,
@@ -758,7 +758,7 @@
       allowReturnNones = true,
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType fileAction(
+  public NoneType fileAction(
       FileApi output, String content, Boolean executable, Location loc, StarlarkThread thread)
       throws EvalException;
 
@@ -791,8 +791,8 @@
       allowReturnNones = true,
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType emptyAction(
-      String mnemonic, Object inputs, Location loc, StarlarkThread thread) throws EvalException;
+  public NoneType emptyAction(String mnemonic, Object inputs, Location loc, StarlarkThread thread)
+      throws EvalException;
 
   @SkylarkCallable(
       name = "template_action",
@@ -830,7 +830,7 @@
       allowReturnNones = true,
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType templateAction(
+  public NoneType templateAction(
       FileApi template,
       FileApi output,
       SkylarkDict<?, ?> substitutionsUnchecked,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java
index 7861d18..2e1977a 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleFunctionsApi.java
@@ -25,7 +25,7 @@
 import com.google.devtools.build.lib.syntax.BaseFunction;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.StarlarkFunction;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/WorkspaceGlobalsApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/WorkspaceGlobalsApi.java
index 50cb6b8..6d12991 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/WorkspaceGlobalsApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/WorkspaceGlobalsApi.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkGlobalLibrary;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
index 4865d44..0cf3fa9 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
index 801403b..9bb372c 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcInfoApi.java
@@ -24,7 +24,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 
 /** Wrapper for every C++ compilation and linking provider. */
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
index 021db3b..3f341ff 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
@@ -26,7 +26,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
index 5fcd3d4..4b3fbb7 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
@@ -28,7 +28,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.Tuple;
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
index 27eede4..cac6114 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
@@ -23,7 +23,7 @@
 import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
 
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/ThreadHandler.java b/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/ThreadHandler.java
index 9174a28..0689182 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/ThreadHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkdebug/server/ThreadHandler.java
@@ -27,7 +27,6 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.ParserInput;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.syntax.SyntaxError;
@@ -299,7 +298,7 @@
 
       ParserInput input = ParserInput.create(content, PathFragment.create("<debug eval>"));
       Object x = EvalUtils.execAndEvalOptionalFinalExpression(input, thread);
-      return x != null ? x : Runtime.NONE;
+      return x != null ? x : Starlark.NONE;
     } finally {
       servicingEvalRequest.set(false);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BUILD b/src/main/java/com/google/devtools/build/lib/syntax/BUILD
index bc679aa..6448a64 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BUILD
@@ -108,11 +108,11 @@
         "MethodLibrary.java",
         "Module.java",
         "Mutability.java",
+        "NoneType.java",
         "ParamDescriptor.java",
         "ParamTypeDescriptor.java",
         "Printer.java",
         "RangeList.java",
-        "Runtime.java",
         "SelectorList.java",
         "SelectorValue.java",
         "SkylarkClassObject.java",
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java b/src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java
index 6cd29b9..0f2659b 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/CallUtils.java
@@ -27,7 +27,6 @@
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
 import com.google.devtools.build.lib.skylarkinterface.SkylarkInterfaceUtils;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
 import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier;
 import com.google.devtools.build.lib.util.Pair;
 import java.lang.reflect.Method;
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
index f90614b..257e2a5 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
@@ -36,7 +36,7 @@
 
   private final StarlarkThread thread;
   private final Debugger dbg;
-  private Object result = Runtime.NONE;
+  private Object result = Starlark.NONE;
 
   // ---- entry points ----
 
@@ -563,9 +563,9 @@
         {
           SliceExpression slice = (SliceExpression) expr;
           Object object = eval(thread, slice.getObject());
-          Object start = slice.getStart() == null ? Runtime.NONE : eval(thread, slice.getStart());
-          Object end = slice.getEnd() == null ? Runtime.NONE : eval(thread, slice.getEnd());
-          Object step = slice.getStep() == null ? Runtime.NONE : eval(thread, slice.getStep());
+          Object start = slice.getStart() == null ? Starlark.NONE : eval(thread, slice.getStart());
+          Object end = slice.getEnd() == null ? Starlark.NONE : eval(thread, slice.getEnd());
+          Object step = slice.getStep() == null ? Starlark.NONE : eval(thread, slice.getStep());
           Location loc = slice.getLocation();
 
           // TODO(adonovan): move the rest into a public EvalUtils.slice() operator.
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java b/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
index f147d89..920787e 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/EvalUtils.java
@@ -493,7 +493,7 @@
 
   /**
    * Calculates the indices of the elements in a slice, after validating the arguments and replacing
-   * Runtime.NONE with default values. Throws an EvalException if a bad argument is given.
+   * Starlark.NONE with default values. Throws an EvalException if a bad argument is given.
    */
   public static List<Integer> getSliceIndices(
       Object startObj, Object endObj, Object stepObj, int length, Location loc)
@@ -502,7 +502,7 @@
     int end;
     int step;
 
-    if (stepObj == Runtime.NONE) {
+    if (stepObj == Starlark.NONE) {
       step = 1;
     } else if (stepObj instanceof Integer) {
       step = ((Integer) stepObj).intValue();
@@ -514,7 +514,7 @@
       throw new EvalException(loc, "slice step cannot be zero");
     }
 
-    if (startObj == Runtime.NONE) {
+    if (startObj == Starlark.NONE) {
       start = (step > 0) ? 0 : length - 1;
     } else if (startObj instanceof Integer) {
       start = ((Integer) startObj).intValue();
@@ -522,7 +522,7 @@
       throw new EvalException(
           loc, String.format("slice start must be an integer, not '%s'", startObj));
     }
-    if (endObj == Runtime.NONE) {
+    if (endObj == Starlark.NONE) {
       // If step is negative, can't use -1 for end since that would be converted
       // to the rightmost element's position.
       end = (step > 0) ? length : -length - 1;
@@ -537,7 +537,7 @@
 
   /** @return true if x is Java null or Skylark None */
   public static boolean isNullOrNone(Object x) {
-    return x == null || x == Runtime.NONE;
+    return x == null || x == Starlark.NONE;
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/MethodDescriptor.java b/src/main/java/com/google/devtools/build/lib/syntax/MethodDescriptor.java
index 11b9ed9..c9cc1f5 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/MethodDescriptor.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/MethodDescriptor.java
@@ -147,11 +147,11 @@
       throw new EvalException(loc, null, e);
     }
     if (method.getReturnType().equals(Void.TYPE)) {
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
     if (result == null) {
       if (isAllowReturnNones()) {
-        return Runtime.NONE;
+        return Starlark.NONE;
       } else {
         throw new IllegalStateException(
             "method invocation returned None: " + getName() + Tuple.copyOf(Arrays.asList(args)));
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
index b439055..c9c2a83 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/MethodLibrary.java
@@ -201,7 +201,7 @@
       throws EvalException, InterruptedException {
 
     ArrayList<?> list = new ArrayList<>(EvalUtils.toCollection(iterable, loc, thread));
-    if (key == Runtime.NONE) {
+    if (key == Starlark.NONE) {
       try {
         Collections.sort(list, EvalUtils.SKYLARK_COMPARATOR);
       } catch (EvalUtils.ComparisonException e) {
@@ -711,7 +711,7 @@
       throws EvalException {
     int start;
     int stop;
-    if (stopOrNone == Runtime.NONE) {
+    if (stopOrNone == Starlark.NONE) {
       start = 0;
       stop = startOrStop;
     } else if (stopOrNone instanceof Integer) {
@@ -851,9 +851,9 @@
             named = true)
       },
       useLocation = true)
-  public Runtime.NoneType fail(Object msg, Object attr, Location loc) throws EvalException {
+  public NoneType fail(Object msg, Object attr, Location loc) throws EvalException {
     String str = Printer.str(msg);
-    if (attr != Runtime.NONE) {
+    if (attr != Starlark.NONE) {
       str = String.format("attribute %s: %s", attr, str);
     }
     throw new EvalException(loc, str);
@@ -884,8 +884,7 @@
       extraPositionals = @Param(name = "args", doc = "The objects to print."),
       useLocation = true,
       useStarlarkThread = true)
-  public Runtime.NoneType print(
-      String sep, SkylarkList<?> starargs, Location loc, StarlarkThread thread)
+  public NoneType print(String sep, SkylarkList<?> starargs, Location loc, StarlarkThread thread)
       throws EvalException {
     try {
       String msg = starargs.stream().map(Printer::debugPrint).collect(joining(sep));
@@ -896,7 +895,7 @@
         msg += "<== skylark flag test ==>";
       }
       thread.handleEvent(Event.debug(loc, msg));
-      return Runtime.NONE;
+      return Starlark.NONE;
     } catch (NestedSetDepthException exception) {
       throw new EvalException(
           loc,
@@ -1033,8 +1032,8 @@
     }
 
     if (semantics.incompatibleDisableDepsetItems()) {
-      if (x != Runtime.NONE) {
-        if (direct != Runtime.NONE) {
+      if (x != Starlark.NONE) {
+        if (direct != Starlark.NONE) {
           throw new EvalException(
               loc, "parameter 'direct' cannot be specified both positionally and by keyword");
         }
@@ -1042,7 +1041,7 @@
       }
       return depsetConstructor(direct, order, transitive, loc);
     } else {
-      if (x != Runtime.NONE) {
+      if (x != Starlark.NONE) {
         if (!isEmptySkylarkList(items)) {
           throw new EvalException(
               loc, "parameter 'items' cannot be specified both positionally and by keyword");
@@ -1077,7 +1076,7 @@
 
   private static <T> List<T> listFromNoneable(
       Object listOrNone, Class<T> objectType, String paramName) throws EvalException {
-    if (listOrNone != Runtime.NONE) {
+    if (listOrNone != Starlark.NONE) {
       SkylarkType.checkType(listOrNone, SkylarkList.class, paramName);
       return ((SkylarkList<?>) listOrNone).getContents(objectType, paramName);
     } else {
@@ -1089,19 +1088,19 @@
       Object items, Order order, Object direct, Object transitive, Location loc)
       throws EvalException {
 
-    if (transitive == Runtime.NONE && direct == Runtime.NONE) {
+    if (transitive == Starlark.NONE && direct == Starlark.NONE) {
       // Legacy behavior.
       return SkylarkNestedSet.of(order, items, loc);
     }
 
-    if (direct != Runtime.NONE && !isEmptySkylarkList(items)) {
+    if (direct != Starlark.NONE && !isEmptySkylarkList(items)) {
       throw new EvalException(
           loc, "Do not pass both 'direct' and 'items' argument to depset constructor.");
     }
 
     // Non-legacy behavior: either 'transitive' or 'direct' were specified.
     Iterable<Object> directElements;
-    if (direct != Runtime.NONE) {
+    if (direct != Starlark.NONE) {
       SkylarkType.checkType(direct, SkylarkList.class, "direct");
       directElements = ((SkylarkList<?>) direct).getContents(Object.class, "direct");
     } else {
@@ -1110,7 +1109,7 @@
     }
 
     Iterable<SkylarkNestedSet> transitiveList;
-    if (transitive != Runtime.NONE) {
+    if (transitive != Starlark.NONE) {
       SkylarkType.checkType(transitive, SkylarkList.class, "transitive");
       transitiveList =
           ((SkylarkList<?>) transitive).getContents(SkylarkNestedSet.class, "transitive");
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java b/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java
new file mode 100644
index 0000000..ed9614d
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/syntax/NoneType.java
@@ -0,0 +1,50 @@
+// Copyright 2019 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.devtools.build.lib.syntax;
+
+import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+
+/** The type of the Starlark None value. */
+@SkylarkModule(name = "NoneType", documented = false, doc = "The type of the Starlark None value.")
+@Immutable
+public final class NoneType implements SkylarkValue {
+
+  static final NoneType NONE = new NoneType();
+
+  private NoneType() {}
+
+  @Override
+  public String toString() {
+    return "None";
+  }
+
+  @Override
+  public boolean isImmutable() {
+    return true;
+  }
+
+  @Override
+  public boolean truth() {
+    return false;
+  }
+
+  @Override
+  public void repr(SkylarkPrinter printer) {
+    printer.append("None");
+  }
+}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java b/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
index 010acc0..79cb476 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/RangeList.java
@@ -256,7 +256,7 @@
       int stop;
       int step;
 
-      if (stepObj == Runtime.NONE) {
+      if (stepObj == Starlark.NONE) {
         step = 1;
       } else if (stepObj instanceof Integer) {
         step = (Integer) stepObj;
@@ -278,7 +278,7 @@
         upper = length;
       }
 
-      if (startObj == Runtime.NONE) {
+      if (startObj == Starlark.NONE) {
         start = step < 0 ? upper : lower;
       } else if (startObj instanceof Integer) {
         start = (Integer) startObj;
@@ -292,7 +292,7 @@
         throw new EvalException(
             loc, String.format("slice start must be an integer, not '%s'", startObj));
       }
-      if (endObj == Runtime.NONE) {
+      if (endObj == Starlark.NONE) {
         stop = step < 0 ? lower : upper;
       } else if (endObj instanceof Integer) {
         stop = (Integer) endObj;
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java b/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java
deleted file mode 100644
index 17b2948..0000000
--- a/src/main/java/com/google/devtools/build/lib/syntax/Runtime.java
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2015 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.build.lib.syntax;
-
-import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
-import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
-
-/** Global constants and support for static registration of builtin symbols. */
-// TODO(adonovan): move to Starlark.NONE and delete.
-public final class Runtime {
-
-  private Runtime() {}
-
-  /** There should be only one instance of this type to allow "== None" tests. */
-  @SkylarkModule(
-    name = "NoneType",
-    documented = false,
-    doc = "Unit type, containing the unique value None."
-  )
-  @Immutable
-  public static final class NoneType implements SkylarkValue {
-    private NoneType() {}
-
-    @Override
-    public String toString() {
-      return "None";
-    }
-
-    @Override
-    public boolean isImmutable() {
-      return true;
-    }
-
-    @Override
-    public boolean truth() {
-      return false;
-    }
-
-    @Override
-    public void repr(SkylarkPrinter printer) {
-      printer.append("None");
-    }
-  }
-
-  /* The Starlark None value. */
-  public static final NoneType NONE = new NoneType();
-}
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkDict.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkDict.java
index 16b71bc..9c57528 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkDict.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkDict.java
@@ -221,8 +221,7 @@
       useLocation = true,
       useStarlarkThread = true)
   @SuppressWarnings("unchecked")
-  public Runtime.NoneType update(
-      Object args, SkylarkDict<?, ?> kwargs, Location loc, StarlarkThread thread)
+  public NoneType update(Object args, SkylarkDict<?, ?> kwargs, Location loc, StarlarkThread thread)
       throws EvalException {
     // TODO(adonovan): opt: don't materialize dict; call put directly.
 
@@ -233,7 +232,7 @@
             : getDictFromArgs("update", args, loc, thread);
     dict = SkylarkDict.plus(dict, (SkylarkDict<K, V>) kwargs, thread);
     putAll(dict, loc);
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @SkylarkCallable(
@@ -401,9 +400,9 @@
       name = "clear",
       doc = "Remove all items from the dictionary.",
       useLocation = true)
-  public Runtime.NoneType clearDict(Location loc) throws EvalException {
+  public NoneType clearDict(Location loc) throws EvalException {
     clear(loc);
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkList.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkList.java
index aed34e6..773bb45 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkList.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkList.java
@@ -436,12 +436,12 @@
         parameters = {@Param(name = "x", type = Object.class, doc = "The object to remove.")},
         useLocation = true,
         useStarlarkThread = true)
-    public Runtime.NoneType removeObject(Object x, Location loc, StarlarkThread thread)
+    public NoneType removeObject(Object x, Location loc, StarlarkThread thread)
         throws EvalException {
       for (int i = 0; i < size(); i++) {
         if (get(i).equals(x)) {
           remove(i, loc, thread.mutability());
-          return Runtime.NONE;
+          return Starlark.NONE;
         }
       }
       throw new EvalException(loc, Printer.format("item %r not found in list", x));
@@ -474,10 +474,9 @@
         useLocation = true,
         useStarlarkThread = true)
     @SuppressWarnings("unchecked") // Cast of Object item to E
-    public Runtime.NoneType append(Object item, Location loc, StarlarkThread thread)
-        throws EvalException {
+    public NoneType append(Object item, Location loc, StarlarkThread thread) throws EvalException {
       add((E) item, loc, thread.mutability());
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
 
     @SkylarkCallable(
@@ -485,10 +484,10 @@
         doc = "Removes all the elements of the list.",
         useLocation = true,
         useStarlarkThread = true)
-    public Runtime.NoneType clearMethod(Location loc, StarlarkThread thread) throws EvalException {
+    public NoneType clearMethod(Location loc, StarlarkThread thread) throws EvalException {
       checkMutable(loc, thread.mutability());
       contents.clear();
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
 
     @SkylarkCallable(
@@ -501,10 +500,10 @@
         useLocation = true,
         useStarlarkThread = true)
     @SuppressWarnings("unchecked") // Cast of Object item to E
-    public Runtime.NoneType insert(Integer index, Object item, Location loc, StarlarkThread thread)
+    public NoneType insert(Integer index, Object item, Location loc, StarlarkThread thread)
         throws EvalException {
       add(EvalUtils.clampRangeEndpoint(index, size()), (E) item, loc, thread.mutability());
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
 
     @SkylarkCallable(
@@ -516,13 +515,12 @@
         useLocation = true,
         useStarlarkThread = true)
     @SuppressWarnings("unchecked")
-    public Runtime.NoneType extend(Object items, Location loc, StarlarkThread thread)
-        throws EvalException {
+    public NoneType extend(Object items, Location loc, StarlarkThread thread) throws EvalException {
       addAll(
           (Collection<? extends E>) EvalUtils.toCollection(items, loc, thread),
           loc,
           thread.mutability());
-      return Runtime.NONE;
+      return Starlark.NONE;
     }
 
     @SkylarkCallable(
@@ -550,9 +548,9 @@
         useLocation = true)
     public Integer index(Object x, Object start, Object end, Location loc) throws EvalException {
       int i =
-          start == Runtime.NONE ? 0 : EvalUtils.clampRangeEndpoint((Integer) start, this.size());
+          start == Starlark.NONE ? 0 : EvalUtils.clampRangeEndpoint((Integer) start, this.size());
       int j =
-          end == Runtime.NONE
+          end == Starlark.NONE
               ? this.size()
               : EvalUtils.clampRangeEndpoint((Integer) end, this.size());
 
@@ -582,7 +580,7 @@
         useLocation = true,
         useStarlarkThread = true)
     public Object pop(Object i, Location loc, StarlarkThread thread) throws EvalException {
-      int arg = i == Runtime.NONE ? -1 : (Integer) i;
+      int arg = i == Starlark.NONE ? -1 : (Integer) i;
       int index = EvalUtils.getSequenceIndex(arg, size(), loc);
       Object result = get(index);
       remove(index, loc, thread.mutability());
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java
index 0c64848..ea2a48f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkNestedSet.java
@@ -345,7 +345,7 @@
   // TODO(b/140932420): Better noneable handling should prevent instanceof checking.
   public static <T> NestedSet<T> getSetFromNoneableParam(
       Object depsetOrNone, Class<T> expectedType, String fieldName) throws EvalException {
-    if (depsetOrNone == Runtime.NONE) {
+    if (depsetOrNone == Starlark.NONE) {
       return NestedSetBuilder.<T>emptySet(Order.STABLE_ORDER);
     }
     if (depsetOrNone instanceof SkylarkNestedSet) {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
index 39c87c7..2bf7914 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
@@ -30,7 +30,7 @@
 public class SkylarkSignatureProcessor {
 
   // A cache mapping string representation of a skylark parameter default value to the object
-  // represented by that string. For example, "None" -> Runtime.NONE. This cache is manually
+  // represented by that string. For example, "None" -> Starlark.NONE. This cache is manually
   // maintained (instead of using, for example, a LoadingCache), as default values may sometimes
   // be recursively requested.
   private static final ConcurrentHashMap<String, Object> defaultValueCache =
@@ -264,7 +264,7 @@
 
   static Object getDefaultValue(String paramName, String paramDefaultValue) {
     if (paramDefaultValue.isEmpty()) {
-      return Runtime.NONE;
+      return Starlark.NONE;
     } else {
       try {
         Object defaultValue = defaultValueCache.get(paramDefaultValue);
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
index 2714b9c..6c1acc6 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkType.java
@@ -156,7 +156,7 @@
   // by declaring its type as TOP instead of NONE, even though at runtime,
   // we reject None from all types but NONE, and in particular from e.g. lists of Files.
   // TODO(bazel-team): resolve this inconsistency, one way or the other.
-  @AutoCodec public static final Simple NONE = Simple.forClass(Runtime.NoneType.class);
+  @AutoCodec public static final Simple NONE = Simple.forClass(NoneType.class);
 
   /** The STRING type, for strings */
   @AutoCodec public static final Simple STRING = Simple.forClass(String.class);
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java b/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
index e96e8ee..875f2d6 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Starlark.java
@@ -29,14 +29,13 @@
  * all clients of the Starlark interpreter.
  */
 // TODO(adonovan): move these here:
-// len, str, iterate, equal, compare, getattr, index,
-// slice, parse, exec, eval, and so on.
+// len, str, iterate, equal, compare, getattr, index, slice, parse, exec, eval, and so on.
 public final class Starlark {
 
   private Starlark() {} // uninstantiable
 
   /** The Starlark None value. */
-  public static final Runtime.NoneType NONE = Runtime.NONE;
+  public static final NoneType NONE = NoneType.NONE;
 
   /**
    * A sentinel value passed to optional parameters of SkylarkCallable-annotated methods to indicate
@@ -74,7 +73,7 @@
     env //
         .put("False", false)
         .put("True", true)
-        .put("None", Runtime.NONE);
+        .put("None", Starlark.NONE);
     addMethods(env, new MethodLibrary());
     return env.build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java b/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
index 38e8194..3e478a5 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StringModule.java
@@ -203,7 +203,7 @@
             defaultValue = "None")
       })
   public String lstrip(String self, Object charsOrNone) {
-    String chars = charsOrNone != Runtime.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
+    String chars = charsOrNone != Starlark.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
     return stringLStrip(self, chars);
   }
 
@@ -228,7 +228,7 @@
             defaultValue = "None")
       })
   public String rstrip(String self, Object charsOrNone) {
-    String chars = charsOrNone != Runtime.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
+    String chars = charsOrNone != Starlark.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
     return stringRStrip(self, chars);
   }
 
@@ -254,7 +254,7 @@
             defaultValue = "None")
       })
   public String strip(String self, Object charsOrNone) {
-    String chars = charsOrNone != Runtime.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
+    String chars = charsOrNone != Starlark.NONE ? (String) charsOrNone : LATIN1_WHITESPACE;
     return stringStrip(self, chars);
   }
 
@@ -290,7 +290,7 @@
   public String replace(String self, String oldString, String newString, Object maxSplitO)
       throws EvalException {
     int maxSplit = Integer.MAX_VALUE;
-    if (maxSplitO != Runtime.NONE) {
+    if (maxSplitO != Starlark.NONE) {
       maxSplit = Math.max(0, (Integer) maxSplitO);
     }
     StringBuilder sb = new StringBuilder();
@@ -347,7 +347,7 @@
       throw new EvalException(loc, "Empty separator");
     }
     int maxSplit = Integer.MAX_VALUE;
-    if (maxSplitO != Runtime.NONE) {
+    if (maxSplitO != Starlark.NONE) {
       maxSplit = (Integer) maxSplitO;
     }
     ArrayList<String> res = new ArrayList<>();
@@ -396,7 +396,7 @@
       throw new EvalException(loc, "Empty separator");
     }
     int maxSplit = Integer.MAX_VALUE;
-    if (maxSplitO != Runtime.NONE) {
+    if (maxSplitO != Starlark.NONE) {
       maxSplit = (Integer) maxSplitO;
     }
     ArrayList<String> res = new ArrayList<>();
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
index 0928823..2efbcdc 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkNativeModuleApi.java
@@ -20,7 +20,7 @@
 import com.google.devtools.build.lib.skylarkbuildapi.SkylarkNativeModuleApi;
 import com.google.devtools.build.lib.syntax.ClassObject;
 import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.Runtime.NoneType;
+import com.google.devtools.build.lib.syntax.NoneType;
 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;
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
index ef32805..33fbff7 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeSkylarkRuleFunctionsApi.java
@@ -27,10 +27,10 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
 import com.google.devtools.build.lib.syntax.SkylarkType;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkFunction;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.skydoc.rendering.AspectInfoWrapper;
@@ -148,7 +148,7 @@
       StarlarkThread funcallThread)
       throws EvalException {
     ImmutableMap.Builder<String, FakeDescriptor> attrsMapBuilder = ImmutableMap.builder();
-    if (attrs != null && attrs != Runtime.NONE) {
+    if (attrs != null && attrs != Starlark.NONE) {
       SkylarkDict<?, ?> attrsDict = (SkylarkDict<?, ?>) attrs;
       attrsMapBuilder.putAll(attrsDict.getContents(String.class, FakeDescriptor.class, "attrs"));
     }
@@ -202,7 +202,7 @@
       throws EvalException {
     FakeSkylarkAspect fakeAspect = new FakeSkylarkAspect();
     ImmutableMap.Builder<String, FakeDescriptor> attrsMapBuilder = ImmutableMap.builder();
-    if (attrs != null && attrs != Runtime.NONE) {
+    if (attrs != null && attrs != Starlark.NONE) {
       SkylarkDict<?, ?> attrsDict = (SkylarkDict<?, ?>) attrs;
       attrsMapBuilder.putAll(attrsDict.getContents(String.class, FakeDescriptor.class, "attrs"));
     }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStarlarkCallable.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStarlarkCallable.java
index a5ed3bb..5560f277 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStarlarkCallable.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeStarlarkCallable.java
@@ -16,7 +16,7 @@
 
 import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkCallable;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import java.util.List;
@@ -41,7 +41,7 @@
       @Nullable Map<String, Object> kwargs,
       @Nullable FuncallExpression call,
       StarlarkThread thread) {
-    return Runtime.NONE;
+    return Starlark.NONE;
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java
index 6719d1b..0757adc 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/FakeRepositoryModule.java
@@ -22,9 +22,9 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FuncallExpression;
 import com.google.devtools.build.lib.syntax.FunctionSignature;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.skydoc.fakebuildapi.FakeDescriptor;
 import com.google.devtools.build.skydoc.fakebuildapi.FakeSkylarkRuleFunctionsApi.AttributeNameComparator;
@@ -62,7 +62,7 @@
       throws EvalException {
     List<AttributeInfo> attrInfos;
     ImmutableMap.Builder<String, FakeDescriptor> attrsMapBuilder = ImmutableMap.builder();
-    if (attrs != null && attrs != Runtime.NONE) {
+    if (attrs != null && attrs != Starlark.NONE) {
       SkylarkDict<?, ?> attrsDict = (SkylarkDict<?, ?>) attrs;
       attrsMapBuilder.putAll(attrsDict.getContents(String.class, FakeDescriptor.class, "attrs"));
     }
diff --git a/src/test/java/com/google/devtools/build/lib/packages/TargetUtilsTest.java b/src/test/java/com/google/devtools/build/lib/packages/TargetUtilsTest.java
index 058524e..79d7160 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/TargetUtilsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/TargetUtilsTest.java
@@ -18,8 +18,8 @@
 import com.google.common.base.Predicate;
 import com.google.common.collect.Lists;
 import com.google.devtools.build.lib.packages.util.PackageLoadingTestCase;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
+import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.Map;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -252,7 +252,7 @@
     assertThat(execInfo).containsExactly("no-cache", "", "supports-workers", "");
 
     execInfo =
-        TargetUtils.getFilteredExecutionInfo(Runtime.NONE, tag1, /* allowTagsPropagation */ true);
+        TargetUtils.getFilteredExecutionInfo(Starlark.NONE, tag1, /* allowTagsPropagation */ true);
     assertThat(execInfo).containsExactly("no-cache", "", "supports-workers", "");
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
index 068d6fe..8660e9b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkTest.java
@@ -26,7 +26,7 @@
 import com.google.devtools.build.lib.packages.SkylarkProvider;
 import com.google.devtools.build.lib.packages.StructImpl;
 import com.google.devtools.build.lib.packages.util.BazelMockAndroidSupport;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import java.util.List;
 import java.util.Map;
 import org.junit.Before;
@@ -185,9 +185,9 @@
             getMyInfoFromTarget(target).getValue("split_attr_deps");
 
     // Split transition isn't in effect, so the deps are compiled normally (i.e. using --cpu).
-    assertThat(splitDeps.get(Runtime.NONE)).hasSize(2);
-    assertThat(getConfiguration(splitDeps.get(Runtime.NONE).get(0)).getCpu()).isEqualTo("k8");
-    assertThat(getConfiguration(splitDeps.get(Runtime.NONE).get(1)).getCpu()).isEqualTo("k8");
+    assertThat(splitDeps.get(Starlark.NONE)).hasSize(2);
+    assertThat(getConfiguration(splitDeps.get(Starlark.NONE).get(0)).getCpu()).isEqualTo("k8");
+    assertThat(getConfiguration(splitDeps.get(Starlark.NONE).get(1)).getCpu()).isEqualTo("k8");
   }
 
   @Test
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 b9294ff..6a692b5 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
@@ -52,11 +52,11 @@
 import com.google.devtools.build.lib.rules.cpp.CcToolchainVariables.StringValueParser;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
-import com.google.devtools.build.lib.syntax.Runtime;
 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.testutil.Scratch;
 import com.google.devtools.build.lib.testutil.TestConstants;
 import com.google.devtools.build.lib.util.Pair;
@@ -5710,7 +5710,7 @@
         (SkylarkInfo) getConfiguredTarget("//foo:foo").get(SkylarkProviderIdentifier.forKey(key));
 
     Object picObjects = fooInfoForPic.getValue("pic_objects");
-    assertThat(picObjects).isNotEqualTo(Runtime.NONE);
+    assertThat(picObjects).isNotEqualTo(Starlark.NONE);
     assertThat((MutableList) picObjects).isEmpty();
 
     // With PIC and the default compilation_mode which is fastbuild C++ rules only produce PIC
@@ -5726,7 +5726,7 @@
         (SkylarkInfo) getConfiguredTarget("//foo:foo").get(SkylarkProviderIdentifier.forKey(key));
 
     Object objects = fooInfoForNoPic.getValue("objects");
-    assertThat(objects).isNotEqualTo(Runtime.NONE);
+    assertThat(objects).isNotEqualTo(Starlark.NONE);
     assertThat((MutableList) objects).isEmpty();
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
index c49d373..de435fe 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
@@ -25,7 +25,7 @@
 import com.google.devtools.build.lib.cmdline.Label;
 import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
 import com.google.devtools.build.lib.packages.StructImpl;
-import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Starlark;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -233,7 +233,7 @@
                 new SkylarkKey(
                     Label.parseAbsolute("//verify:verify.bzl", ImmutableMap.of()), "result"));
 
-    assertThat(info.getValue("default_value")).isEqualTo(Runtime.NONE);
+    assertThat(info.getValue("default_value")).isEqualTo(Starlark.NONE);
 
     boolean hasConstraintValue = (boolean) info.getValue("has_default_value");
     assertThat(hasConstraintValue).isFalse();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/python/PythonToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/python/PythonToolchainTest.java
index dae74c9..4883a0c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/python/PythonToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/python/PythonToolchainTest.java
@@ -15,7 +15,7 @@
 package com.google.devtools.build.lib.rules.python;
 
 import static com.google.common.truth.Truth.assertThat;
-import static com.google.devtools.build.lib.syntax.Runtime.NONE;
+import static com.google.devtools.build.lib.syntax.Starlark.NONE;
 
 import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
 import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
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 b8991cd..13a03b9 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
@@ -55,10 +55,10 @@
 import com.google.devtools.build.lib.skyframe.PackageFunction;
 import com.google.devtools.build.lib.skyframe.SkyFunctions;
 import com.google.devtools.build.lib.skyframe.SkylarkImportLookupFunction;
-import com.google.devtools.build.lib.syntax.Runtime;
 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.vfs.FileSystemUtils;
 import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
 import com.google.devtools.build.skyframe.SkyFunction;
@@ -1269,7 +1269,7 @@
 
     ConfiguredTarget target = getConfiguredTarget("//test/skylark:cr");
     StructImpl myInfo = getMyInfoFromTarget(target);
-    assertThat(myInfo.getValue("o1")).isEqualTo(Runtime.NONE);
+    assertThat(myInfo.getValue("o1")).isEqualTo(Starlark.NONE);
     assertThat(myInfo.getValue("o2")).isEqualTo(MutableList.empty());
   }
 
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 772fa5e..2a7b2b7 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
@@ -47,10 +47,10 @@
 import com.google.devtools.build.lib.rules.java.JavaSourceJarsProvider;
 import com.google.devtools.build.lib.rules.python.PyProviderUtils;
 import com.google.devtools.build.lib.skylark.util.SkylarkTestCase;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkDict;
 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.testutil.TestRuleClassProvider;
 import com.google.devtools.build.lib.util.FileTypeSet;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
@@ -1925,9 +1925,9 @@
     assertThat(eval("action1.inputs")).isInstanceOf(SkylarkNestedSet.class);
     assertThat(eval("action1.outputs")).isInstanceOf(SkylarkNestedSet.class);
 
-    assertThat(eval("action1.argv")).isEqualTo(Runtime.NONE);
-    assertThat(eval("action2.content")).isEqualTo(Runtime.NONE);
-    assertThat(eval("action1.substitutions")).isEqualTo(Runtime.NONE);
+    assertThat(eval("action1.argv")).isEqualTo(Starlark.NONE);
+    assertThat(eval("action2.content")).isEqualTo(Starlark.NONE);
+    assertThat(eval("action1.substitutions")).isEqualTo(Starlark.NONE);
 
     assertThat(eval("action1.inputs.to_list()")).isEqualTo(eval("[]"));
     assertThat(eval("action1.outputs.to_list()")).isEqualTo(eval("[file1]"));
@@ -1997,7 +1997,7 @@
     setRuleContext(ruleContext);
 
     Object result = eval("ruleContext.created_actions()");
-    assertThat(result).isEqualTo(Runtime.NONE);
+    assertThat(result).isEqualTo(Starlark.NONE);
   }
 
   @Test
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 8e50a2f..36040c6 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
@@ -61,7 +61,6 @@
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Printer;
-import com.google.devtools.build.lib.syntax.Runtime;
 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;
@@ -554,7 +553,7 @@
 
   private void checkEmptyAction(String namedArgs) throws Exception {
     assertThat(eval(String.format("ruleContext.actions.do_nothing(%s)", namedArgs)))
-        .isEqualTo(Runtime.NONE);
+        .isEqualTo(Starlark.NONE);
   }
 
   @Test
@@ -1076,7 +1075,7 @@
 
     assertThat(myInfo.getValue("rule_files")).isInstanceOf(SkylarkNestedSet.class);
     assertThat(myInfo.getValue("rule_files_to_run")).isInstanceOf(FilesToRunProvider.class);
-    assertThat(myInfo.getValue("rule_file_executable")).isEqualTo(Runtime.NONE);
+    assertThat(myInfo.getValue("rule_file_executable")).isEqualTo(Starlark.NONE);
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/SkylarkDebugServerTest.java b/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/SkylarkDebugServerTest.java
index 4abe822..244d541 100644
--- a/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/SkylarkDebugServerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylarkdebug/server/SkylarkDebugServerTest.java
@@ -42,8 +42,8 @@
 import com.google.devtools.build.lib.syntax.EvalUtils;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.ParserInput;
-import com.google.devtools.build.lib.syntax.Runtime;
 import com.google.devtools.build.lib.syntax.SkylarkList;
+import com.google.devtools.build.lib.syntax.Starlark;
 import com.google.devtools.build.lib.syntax.StarlarkFile;
 import com.google.devtools.build.lib.syntax.StarlarkThread;
 import com.google.devtools.build.lib.testutil.Scratch;
@@ -518,7 +518,7 @@
                         .build())
                 .build());
     assertThat(response.getEvaluate().getResult())
-        .isEqualTo(getValueProto("Evaluation result", Runtime.NONE));
+        .isEqualTo(getValueProto("Evaluation result", Starlark.NONE));
 
     ListFramesResponse frames = listFrames(threadId);
     assertThat(frames.getFrame(0).getScope(0).getBindingList())
@@ -552,7 +552,7 @@
                         .build())
                 .build());
     assertThat(response.getEvaluate().getResult())
-        .isEqualTo(getValueProto("Evaluation result", Runtime.NONE));
+        .isEqualTo(getValueProto("Evaluation result", Starlark.NONE));
 
     ListFramesResponse frames = listFrames(threadId);
     assertThat(frames.getFrame(0).getScope(0).getBindingList())
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 d761038..e99247f 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
@@ -60,7 +60,7 @@
     assertThat(EvalUtils.getDataTypeName(Tuple.of(1, 2, 3))).isEqualTo("tuple");
     assertThat(EvalUtils.getDataTypeName(makeList(null))).isEqualTo("list");
     assertThat(EvalUtils.getDataTypeName(makeDict(null))).isEqualTo("dict");
-    assertThat(EvalUtils.getDataTypeName(Runtime.NONE)).isEqualTo("NoneType");
+    assertThat(EvalUtils.getDataTypeName(Starlark.NONE)).isEqualTo("NoneType");
     assertThat(EvalUtils.getDataTypeName(new MockClassA())).isEqualTo("MockClassA");
     assertThat(EvalUtils.getDataTypeName(new MockClassB())).isEqualTo("MockClassA");
   }
@@ -95,7 +95,7 @@
       "1",
       2,
       true,
-      Runtime.NONE,
+      Starlark.NONE,
       Tuple.of(1, 2, 3),
       Tuple.of("1", "2", "3"),
       SkylarkList.MutableList.of(thread, 1, 2, 3),
@@ -122,7 +122,7 @@
   public void testComparatorWithNones() throws Exception {
     assertThrows(
         ComparisonException.class,
-        () -> EvalUtils.SKYLARK_COMPARATOR.compare(Runtime.NONE, Runtime.NONE));
+        () -> EvalUtils.SKYLARK_COMPARATOR.compare(Starlark.NONE, Starlark.NONE));
   }
 
   @SkylarkModule(name = "ParentType", doc = "A parent class annotated with @SkylarkModule.")
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
index 4ed356a..a0559bb 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/FunctionTest.java
@@ -78,7 +78,7 @@
               StarlarkThread thread)
               throws EvalException, InterruptedException {
             params.addAll(args);
-            return Runtime.NONE;
+            return Starlark.NONE;
           }
         };
     update("outer_func", outerFunc);
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
index b74c691..4f4f473 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
@@ -173,7 +173,7 @@
             "object of type 'string' has no attribute 'not_there'",
             "getattr('a string', 'not_there')")
         .testExpression("getattr('a string', 'not_there', 'use this')", "use this")
-        .testExpression("getattr('a string', 'not there', None)", Runtime.NONE);
+        .testExpression("getattr('a string', 'not there', None)", Starlark.NONE);
   }
 
   @SkylarkModule(name = "AStruct", documented = false, doc = "")
@@ -366,10 +366,10 @@
   public void testDictionaryGet() throws Exception {
     new BuildTest()
         .testExpression("{1: 'foo'}.get(1)", "foo")
-        .testExpression("{1: 'foo'}.get(2)", Runtime.NONE)
+        .testExpression("{1: 'foo'}.get(2)", Starlark.NONE)
         .testExpression("{1: 'foo'}.get(2, 'a')", "a")
         .testExpression("{1: 'foo'}.get(2, default='a')", "a")
-        .testExpression("{1: 'foo'}.get(2, default=None)", Runtime.NONE);
+        .testExpression("{1: 'foo'}.get(2, default=None)", Starlark.NONE);
   }
 
   @Test
@@ -666,15 +666,14 @@
     checkStrip("abc", "xyz", "abc", "abc", "abc");
     // Default whitespace.
     checkStrip(" a b c ", null, "a b c ", " a b c", "a b c");
-    checkStrip(" a b c ", Runtime.NONE, "a b c ", " a b c", "a b c");
+    checkStrip(" a b c ", Starlark.NONE, "a b c ", " a b c", "a b c");
     // Default whitespace with full range of Latin-1 whitespace chars.
     String whitespace = "\u0009\n\u000B\u000C\r\u001C\u001D\u001E\u001F\u0020\u0085\u00A0";
     checkStrip(
         whitespace + "a" + whitespace, null,
         "a" + whitespace, whitespace + "a", "a");
     checkStrip(
-        whitespace + "a" + whitespace, Runtime.NONE,
-        "a" + whitespace, whitespace + "a", "a");
+        whitespace + "a" + whitespace, Starlark.NONE, "a" + whitespace, whitespace + "a", "a");
     // Empty cases.
     checkStrip("", "", "", "", "");
     checkStrip("abc", "abc", "", "", "");
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 bbf6f18..5f95d11 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
@@ -53,7 +53,7 @@
     assertThat(Printer.repr("\"")).isEqualTo("\"\\\"\"");
     assertThat(Printer.str(3)).isEqualTo("3");
     assertThat(Printer.repr(3)).isEqualTo("3");
-    assertThat(Printer.repr(Runtime.NONE)).isEqualTo("None");
+    assertThat(Printer.repr(Starlark.NONE)).isEqualTo("None");
 
     assertThat(Printer.str(Label.parseAbsolute("//x", ImmutableMap.of()))).isEqualTo("//x:x");
     assertThat(Printer.repr(Label.parseAbsolute("//x", ImmutableMap.of())))
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 f840c7c..787e013 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
@@ -78,7 +78,7 @@
   }
 
   @SkylarkCallable(name = "interrupted_function", documented = false)
-  public Runtime.NoneType interruptedFunction() throws InterruptedException {
+  public NoneType interruptedFunction() throws InterruptedException {
     throw new InterruptedException();
   }
 
@@ -298,8 +298,8 @@
           + optionalNamed
           + ", "
           + nonNoneable
-          + (noneable != Runtime.NONE ? ", " + noneable : "")
-          + (multi != Runtime.NONE ? ", " + multi : "")
+          + (noneable != Starlark.NONE ? ", " + noneable : "")
+          + (multi != Starlark.NONE ? ", " + multi : "")
           + ")";
     }
 
@@ -396,8 +396,8 @@
           + optionalNamed
           + ", "
           + nonNoneable
-          + (noneable != Runtime.NONE ? ", " + noneable : "")
-          + (multi != Runtime.NONE ? ", " + multi : "")
+          + (noneable != Starlark.NONE ? ", " + noneable : "")
+          + (multi != Starlark.NONE ? ", " + multi : "")
           + ", "
           + location.getStartLine()
           + ", "
@@ -1539,7 +1539,7 @@
     new SkylarkTest()
         .update("mock", new Mock())
         .setUp("v = mock.nullfunc_working()")
-        .testLookup("v", Runtime.NONE);
+        .testLookup("v", Starlark.NONE);
   }
 
   @Test
@@ -1547,7 +1547,7 @@
     new SkylarkTest()
         .update("mock", new Mock())
         .setUp("v = mock.voidfunc()")
-        .testLookup("v", Runtime.NONE);
+        .testLookup("v", Starlark.NONE);
   }
 
   @Test
@@ -1855,12 +1855,11 @@
 
   @Test
   public void testNoneTrueFalseInSkylark() throws Exception {
-    new SkylarkTest().setUp("a = None",
-      "b = True",
-      "c = False")
-      .testLookup("a", Runtime.NONE)
-      .testLookup("b", Boolean.TRUE)
-      .testLookup("c", Boolean.FALSE);
+    new SkylarkTest()
+        .setUp("a = None", "b = True", "c = False")
+        .testLookup("a", Starlark.NONE)
+        .testLookup("b", Boolean.TRUE)
+        .testLookup("c", Boolean.FALSE);
   }
 
   @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 08c7889..511f6a3 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
@@ -199,14 +199,14 @@
   @Test
   public void testAppend() throws Exception {
     exec("l = [1, 2]");
-    assertThat(Runtime.NONE).isEqualTo(eval("l.append([3, 4])"));
+    assertThat(Starlark.NONE).isEqualTo(eval("l.append([3, 4])"));
     assertThat(eval("[1, 2, [3, 4]]")).isEqualTo(lookup("l"));
   }
 
   @Test
   public void testExtend() throws Exception {
     exec("l = [1, 2]");
-    assertThat(Runtime.NONE).isEqualTo(eval("l.extend([3, 4])"));
+    assertThat(Starlark.NONE).isEqualTo(eval("l.extend([3, 4])"));
     assertThat(eval("[1, 2, 3, 4]")).isEqualTo(lookup("l"));
   }