aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2018-04-24 18:49:52 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-24 18:51:09 -0700
commitd8a21e30630f4eddcd076821577a2ba9a7c110f0 (patch)
treeff05af75b3c6d0d697b3b42a79944f5f114cfc8b /src/main/java/com/google
parentb88e3f4bbbbf12001b6aa11453f604d360b3d91b (diff)
Pass environment to Skylark provider constructors.
This is needed for constructors that want to be able to use SkylarkSemantics. RELNOTES: None PiperOrigin-RevId: 194180124
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/TemplateVariableInfo.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Provider.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeviceBrokerInfo.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidDex2OatInfo.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationInfo.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagProvider.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java4
16 files changed, 46 insertions, 28 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
index 82c04c259e..642410567d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
@@ -50,7 +51,8 @@ public final class DefaultInfo extends NativeInfo {
public static final NativeProvider<NativeInfo> PROVIDER =
new NativeProvider<NativeInfo>(NativeInfo.class, SKYLARK_NAME) {
@Override
- protected NativeInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected NativeInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) {
@SuppressWarnings("unchecked")
Map<String, Object> kwargs = (Map<String, Object>) args[0];
return new NativeInfo(this, kwargs, loc);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
index af013d892a..adacb23db8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupInfo.java
@@ -32,6 +32,7 @@ import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.EvalUtils;
import com.google.devtools.build.lib.syntax.SkylarkIndexable;
@@ -266,8 +267,8 @@ public final class OutputGroupInfo extends NativeInfo
}
@Override
- protected OutputGroupInfo createInstanceFromSkylark(Object[] args, Location loc)
- throws EvalException {
+ protected OutputGroupInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) throws EvalException {
@SuppressWarnings("unchecked")
Map<String, Object> kwargs = (Map<String, Object>) args[0];
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TemplateVariableInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/TemplateVariableInfo.java
index f4ce8d546e..0e093a08c3 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TemplateVariableInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TemplateVariableInfo.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkDict;
@@ -60,15 +61,14 @@ public final class TemplateVariableInfo extends NativeInfo {
new NativeProvider<TemplateVariableInfo>(
TemplateVariableInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
- protected TemplateVariableInfo createInstanceFromSkylark(Object[] args, Location loc)
- throws EvalException {
+ protected TemplateVariableInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) throws EvalException {
Map<String, String> vars =
SkylarkDict.castSkylarkDictOrNoneToDict(args[0], String.class, String.class, "vars");
return new TemplateVariableInfo(ImmutableMap.copyOf(vars), location);
}
};
-
private final ImmutableMap<String, String> variables;
@AutoCodec.Instantiator
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
index 5b9162a579..7cd3739967 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkDict;
@@ -62,8 +63,8 @@ public class ToolchainInfo extends NativeInfo {
public static final NativeProvider<ToolchainInfo> PROVIDER =
new NativeProvider<ToolchainInfo>(ToolchainInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
- protected ToolchainInfo createInstanceFromSkylark(Object[] args, Location loc)
- throws EvalException {
+ protected ToolchainInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) throws EvalException {
Map<String, Object> data =
SkylarkDict.castSkylarkDictOrNoneToDict(args[0], String.class, Object.class, "data");
return ToolchainInfo.create(data, loc);
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java b/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java
index 3aae40312f..372d85ec7c 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/NativeProvider.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -39,7 +40,8 @@ import javax.annotation.Nullable;
* </pre>
*
* To allow construction from Skylark and custom construction logic, override {@link
- * #createInstanceFromSkylark(Object[], Location)} (see {@link #STRUCT} for an example.
+ * Provider#createInstanceFromSkylark(Object[], Environment, Location)} (see {@link #STRUCT} for an
+ * example.
*/
@Immutable
public abstract class NativeProvider<V extends Info> extends Provider {
@@ -78,7 +80,7 @@ public abstract class NativeProvider<V extends Info> extends Provider {
}
@Override
- protected Info createInstanceFromSkylark(Object[] args, Location loc) {
+ protected Info createInstanceFromSkylark(Object[] args, Environment env, Location loc) {
@SuppressWarnings("unchecked")
Map<String, Object> kwargs = (Map<String, Object>) args[0];
return SkylarkInfo.createSchemaless(this, kwargs, loc);
@@ -165,7 +167,8 @@ public abstract class NativeProvider<V extends Info> extends Provider {
}
@Override
- protected Info createInstanceFromSkylark(Object[] args, Location loc) throws EvalException {
+ protected Info createInstanceFromSkylark(Object[] args, Environment env, Location loc)
+ throws EvalException {
throw new EvalException(
loc, String.format("'%s' cannot be constructed from Skylark", getPrintableName()));
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Provider.java b/src/main/java/com/google/devtools/build/lib/packages/Provider.java
index dc06b664ee..698b978976 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Provider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Provider.java
@@ -106,10 +106,10 @@ public abstract class Provider extends BaseFunction {
}
@Override
- protected Object call(Object[] args, @Nullable FuncallExpression ast, @Nullable Environment env)
+ protected Object call(Object[] args, @Nullable FuncallExpression ast, Environment env)
throws EvalException, InterruptedException {
Location loc = ast != null ? ast.getLocation() : Location.BUILTIN;
- return createInstanceFromSkylark(args, loc);
+ return createInstanceFromSkylark(args, env, loc);
}
/**
@@ -121,7 +121,7 @@ public abstract class Provider extends BaseFunction {
*
* @param args an array of argument values sorted as per the signature ({@see BaseFunction#call})
*/
- protected abstract Info createInstanceFromSkylark(Object[] args, Location loc)
+ protected abstract Info createInstanceFromSkylark(Object[] args, Environment env, Location loc)
throws EvalException;
/** A serializable representation of {@link Provider}. */
diff --git a/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java b/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
index 95e64d9c7a..c981d6e5d3 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/SkylarkProvider.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.SkylarkInfo.Layout;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkType;
import java.util.Map;
@@ -147,7 +148,7 @@ public class SkylarkProvider extends Provider implements SkylarkExportable {
}
@Override
- protected SkylarkInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected SkylarkInfo createInstanceFromSkylark(Object[] args, Environment env, Location loc) {
if (layout == null) {
@SuppressWarnings("unchecked")
Map<String, Object> kwargs = (Map<String, Object>) args[0];
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeviceBrokerInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeviceBrokerInfo.java
index 321dc19b98..840d5026d0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeviceBrokerInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeviceBrokerInfo.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -43,7 +44,8 @@ public final class AndroidDeviceBrokerInfo extends NativeInfo {
new NativeProvider<AndroidDeviceBrokerInfo>(
AndroidDeviceBrokerInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
- protected AndroidDeviceBrokerInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected AndroidDeviceBrokerInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) {
return new AndroidDeviceBrokerInfo(/*deviceBrokerType=*/ (String) args[0]);
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDex2OatInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDex2OatInfo.java
index a9f092d9be..357be65a8b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDex2OatInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDex2OatInfo.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -45,7 +46,8 @@ public final class AndroidDex2OatInfo extends NativeInfo {
public static final NativeProvider<AndroidDex2OatInfo> PROVIDER =
new NativeProvider<AndroidDex2OatInfo>(AndroidDex2OatInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
- protected AndroidDex2OatInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected AndroidDex2OatInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) {
return new AndroidDex2OatInfo(/*dex2OatEnabled=*/ (Boolean) args[0]);
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationInfo.java
index d5a3fa2ef9..9dfe2ef2b7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidInstrumentationInfo.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -56,10 +57,9 @@ public class AndroidInstrumentationInfo extends NativeInfo {
AndroidInstrumentationInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
protected AndroidInstrumentationInfo createInstanceFromSkylark(
- Object[] args, Location loc) {
+ Object[] args, Environment env, Location loc) {
return new AndroidInstrumentationInfo(
- /*targetApk=*/ (Artifact) args[0],
- /*instrumentationApk=*/ (Artifact) args[1]);
+ /*targetApk=*/ (Artifact) args[0], /*instrumentationApk=*/ (Artifact) args[1]);
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
index 78c2d87c5f..e6804eee39 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNativeLibsInfo.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -50,7 +51,8 @@ public final class AndroidNativeLibsInfo extends NativeInfo {
new NativeProvider<AndroidNativeLibsInfo>(
AndroidNativeLibsInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
- protected AndroidNativeLibsInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected AndroidNativeLibsInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) {
return new AndroidNativeLibsInfo(
/*nativeLibs=*/ ((SkylarkNestedSet) args[0]).getSet(Artifact.class));
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagProvider.java b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagProvider.java
index 1296f56b4e..e8781c935d 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/config/ConfigFeatureFlagProvider.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import java.util.Map;
@@ -65,8 +66,8 @@ public class ConfigFeatureFlagProvider extends NativeInfo {
}
@Override
- protected ConfigFeatureFlagProvider createInstanceFromSkylark(Object[] args, Location loc)
- throws EvalException {
+ protected ConfigFeatureFlagProvider createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) throws EvalException {
@SuppressWarnings("unchecked")
Map<String, Object> kwargs = (Map<String, Object>) args[0];
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index b7a3039b7a..1a96c66d19 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -39,6 +39,7 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.Runtime;
@@ -299,7 +300,7 @@ public final class JavaInfo extends NativeInfo {
@Override
@SuppressWarnings("unchecked")
- protected JavaInfo createInstanceFromSkylark(Object[] args, Location loc)
+ protected JavaInfo createInstanceFromSkylark(Object[] args, Environment env, Location loc)
throws EvalException {
int i = 0;
Artifact outputJar = (Artifact) args[i++];
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
index 793ed26a04..49f4f0cdb3 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/MessageBundleInfo.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.packages.NativeInfo;
import com.google.devtools.build.lib.packages.NativeProvider;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
+import com.google.devtools.build.lib.syntax.Environment;
import com.google.devtools.build.lib.syntax.FunctionSignature;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkType;
@@ -48,7 +49,8 @@ public final class MessageBundleInfo extends NativeInfo {
new NativeProvider<MessageBundleInfo>(MessageBundleInfo.class, SKYLARK_NAME, SIGNATURE) {
@Override
@SuppressWarnings("unchecked")
- protected MessageBundleInfo createInstanceFromSkylark(Object[] args, Location loc) {
+ protected MessageBundleInfo createInstanceFromSkylark(
+ Object[] args, Environment env, Location loc) {
return new MessageBundleInfo(ImmutableList.copyOf((SkylarkList<Artifact>) args[0]), loc);
}
};
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
index fea0b8d458..7a7e472790 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BaseFunction.java
@@ -476,7 +476,7 @@ public abstract class BaseFunction implements SkylarkValue {
* @throws InterruptedException may be thrown in the function implementations.
*/
// Don't make it abstract, so that subclasses may be defined that @Override the outer call() only.
- protected Object call(Object[] args, @Nullable FuncallExpression ast, @Nullable Environment env)
+ protected Object call(Object[] args, @Nullable FuncallExpression ast, Environment env)
throws EvalException, InterruptedException {
throw new EvalException(
(ast == null) ? Location.BUILTIN : ast.getLocation(),
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
index d623e0f661..10a14a6631 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BuiltinFunction.java
@@ -368,8 +368,8 @@ public class BuiltinFunction extends BaseFunction {
}
@Override
- public Object call(Object[] args, @Nullable FuncallExpression ast, @Nullable Environment env)
- throws EvalException {
+ public Object call(Object[] args, @Nullable FuncallExpression ast, Environment env)
+ throws EvalException {
throw new EvalException(null, "tried to invoke a Factory for function " + this);
}