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/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
index bae2bef..f065cfd 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
@@ -46,7 +46,7 @@
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
-import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
+import com.google.devtools.build.lib.syntax.SkylarkSemantics;
import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -158,7 +158,7 @@
}
@Override
- public SkylarkSemanticsOptions getSkylarkSemantics() throws InterruptedException {
+ public SkylarkSemantics getSkylarkSemantics() throws InterruptedException {
return original.getSkylarkSemantics();
}
@@ -353,7 +353,7 @@
}
@Override
- public SkylarkSemanticsOptions getSkylarkSemantics() throws InterruptedException {
+ public SkylarkSemantics getSkylarkSemantics() throws InterruptedException {
return null;
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index d7af509..acd56aa 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -131,6 +131,7 @@
import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
+import com.google.devtools.build.lib.syntax.SkylarkSemantics;
import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.BlazeTestUtils;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
@@ -284,8 +285,8 @@
return ImmutableList.<EnvironmentExtension>of();
}
- protected SkylarkSemanticsOptions getSkylarkSemantics() {
- return skylarkSemanticsOptions;
+ protected SkylarkSemantics getSkylarkSemantics() {
+ return skylarkSemanticsOptions.toSkylarkSemantics();
}
protected ResourceSet getStartingResources() {
@@ -1710,7 +1711,7 @@
}
@Override
- public SkylarkSemanticsOptions getSkylarkSemantics() {
+ public SkylarkSemantics getSkylarkSemantics() {
throw new UnsupportedOperationException();
}
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
index 9466ec3..e487f3f 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
@@ -34,12 +34,11 @@
import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.syntax.ParserInputSource;
-import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
+import com.google.devtools.build.lib.syntax.SkylarkSemantics;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.testutil.TestUtils;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.vfs.Path;
-import com.google.devtools.common.options.Options;
import java.io.IOException;
/**
@@ -142,7 +141,7 @@
ImmutableList.<Event>of(),
ImmutableList.<Postable>of(),
ConstantRuleVisibility.PUBLIC,
- Options.getDefaults(SkylarkSemanticsOptions.class),
+ SkylarkSemantics.DEFAULT_SEMANTICS,
false,
new MakeEnvironment.Builder(),
ImmutableMap.<String, Extension>of(),
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();
}
};