Pass SkylarkSemantics through Skyframe instead of the options class Also remove the use of the @UsesOnlyCoreTypes annotation on SkylarkSemanticsOptions. It was only there to help mark that the options class was safe to put in Skyframe. RELNOTES: None PiperOrigin-RevId: 171248504
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java index 12b8e6b..b8c8947 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.syntax.BazelLibrary; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.Mutability; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; import com.google.devtools.common.options.OptionsParser; @@ -25,11 +26,11 @@ * appropriate {@code Environment} has to be created */ public abstract class TestMode { - private static SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... skylarkOptions) + private static SkylarkSemantics parseSkylarkSemantics(String... skylarkOptions) throws Exception { OptionsParser parser = OptionsParser.newOptionsParser(SkylarkSemanticsOptions.class); parser.parse(skylarkOptions); - return parser.getOptions(SkylarkSemanticsOptions.class); + return parser.getOptions(SkylarkSemanticsOptions.class).toSkylarkSemantics(); } public static final TestMode BUILD = @@ -40,7 +41,7 @@ return Environment.builder(Mutability.create("build test")) .setGlobals(BazelLibrary.GLOBALS) .setEventHandler(eventHandler) - .setSemantics(TestMode.parseSkylarkSemanticsOptions(skylarkOptions)) + .setSemantics(TestMode.parseSkylarkSemantics(skylarkOptions)) .build(); } }; @@ -53,7 +54,7 @@ return Environment.builder(Mutability.create("skylark test")) .setGlobals(BazelLibrary.GLOBALS) .setEventHandler(eventHandler) - .setSemantics(TestMode.parseSkylarkSemanticsOptions(skylarkOptions)) + .setSemantics(TestMode.parseSkylarkSemantics(skylarkOptions)) .build(); } };