aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
index 958d88ac7c..b3ca83fe36 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClassProvider.java
@@ -15,12 +15,14 @@
package com.google.devtools.build.lib.packages;
import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.syntax.SkylarkEnvironment;
-import com.google.devtools.build.lib.syntax.ValidationEnvironment;
+import com.google.devtools.build.lib.syntax.Environment;
+import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.Map;
+import javax.annotation.Nullable;
+
/**
* The collection of the supported build rules. Provides an Environment for Skylark rule creation.
*/
@@ -47,17 +49,19 @@ public interface RuleClassProvider {
Map<String, Class<? extends AspectFactory<?, ?, ?>>> getAspectFactoryMap();
/**
- * Returns a new Skylark Environment instance for rule creation. Implementations need to be
- * thread safe.
- */
- SkylarkEnvironment createSkylarkRuleClassEnvironment(
- EventHandler eventHandler, String astFileContentHashCode);
-
- /**
- * Returns a validation environment for static analysis of skylark files.
- * The environment has to contain all built-in functions and objects.
+ * Returns a new Skylark Environment instance for rule creation.
+ * Implementations need to be thread safe.
+ * Be sure to close() the mutability before you return the results of said evaluation.
+ * @param mutability the Mutability for the current evaluation context
+ * @param eventHandler the EventHandler for warnings, errors, etc.
+ * @param astFileContentHashCode the hash code identifying this environment.
+ * @return an Environment, in which to evaluate load time skylark forms.
*/
- ValidationEnvironment getSkylarkValidationEnvironment();
+ Environment createSkylarkRuleClassEnvironment(
+ Mutability mutability,
+ EventHandler eventHandler,
+ @Nullable String astFileContentHashCode,
+ @Nullable Map<PathFragment, Environment> importMap);
/**
* Returns the default content of the WORKSPACE file.