aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index 568e773d81..7c2b34c7c7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -54,8 +54,10 @@ import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.syntax.Environment.Phase;
import com.google.devtools.build.lib.syntax.Mutability;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.syntax.SkylarkUtils;
import com.google.devtools.build.lib.syntax.Type;
+import com.google.devtools.common.options.Options;
import com.google.devtools.common.options.OptionsClassProvider;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
@@ -717,7 +719,12 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
ImmutableList<Class<?>> modules) {
try (Mutability mutability = Mutability.create("ConfiguredRuleClassProvider globals")) {
Environment env = createSkylarkRuleClassEnvironment(
- mutability, SkylarkModules.getGlobals(modules), null, null, null);
+ mutability,
+ SkylarkModules.getGlobals(modules),
+ Options.getDefaults(SkylarkSemanticsOptions.class),
+ /*eventHandler=*/ null,
+ /*astFileContentHashCode=*/ null,
+ /*importMap=*/ null);
for (Map.Entry<String, Object> entry : skylarkAccessibleToplLevels.entrySet()) {
env.setup(entry.getKey(), entry.getValue());
}
@@ -728,12 +735,14 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
private Environment createSkylarkRuleClassEnvironment(
Mutability mutability,
Environment.Frame globals,
+ SkylarkSemanticsOptions skylarkSemantics,
EventHandler eventHandler,
String astFileContentHashCode,
Map<String, Extension> importMap) {
Environment env =
Environment.builder(mutability)
.setGlobals(globals)
+ .setSemantics(skylarkSemantics)
.setEventHandler(eventHandler)
.setFileContentHashCode(astFileContentHashCode)
.setImportedExtensions(importMap)
@@ -745,13 +754,19 @@ public class ConfiguredRuleClassProvider implements RuleClassProvider {
@Override
public Environment createSkylarkRuleClassEnvironment(
- Label extensionLabel, Mutability mutability,
+ Label extensionLabel,
+ Mutability mutability,
+ SkylarkSemanticsOptions skylarkSemantics,
EventHandler eventHandler,
String astFileContentHashCode,
Map<String, Extension> importMap) {
return createSkylarkRuleClassEnvironment(
- mutability, globals.setLabel(extensionLabel),
- eventHandler, astFileContentHashCode, importMap);
+ mutability,
+ globals.setLabel(extensionLabel),
+ skylarkSemantics,
+ eventHandler,
+ astFileContentHashCode,
+ importMap);
}
@Override