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, 12 insertions, 16 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 b3ca83fe36..958d88ac7c 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,14 +15,12 @@
package com.google.devtools.build.lib.packages;
import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.syntax.Environment;
-import com.google.devtools.build.lib.syntax.Mutability;
+import com.google.devtools.build.lib.syntax.SkylarkEnvironment;
+import com.google.devtools.build.lib.syntax.ValidationEnvironment;
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.
*/
@@ -49,19 +47,17 @@ public interface RuleClassProvider {
Map<String, Class<? extends AspectFactory<?, ?, ?>>> getAspectFactoryMap();
/**
- * 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.
+ * 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.
*/
- Environment createSkylarkRuleClassEnvironment(
- Mutability mutability,
- EventHandler eventHandler,
- @Nullable String astFileContentHashCode,
- @Nullable Map<PathFragment, Environment> importMap);
+ ValidationEnvironment getSkylarkValidationEnvironment();
/**
* Returns the default content of the WORKSPACE file.