aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
index 009bdedfd3..2c9e074f49 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSignatureProcessor.java
@@ -21,7 +21,6 @@ import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkSignature;
import com.google.devtools.build.lib.syntax.BuiltinFunction.ExtraArgKind;
-import com.google.devtools.build.lib.syntax.FuncallExpression.MethodDescriptor;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
@@ -233,13 +232,18 @@ public class SkylarkSignatureProcessor {
}
static Object getDefaultValue(Param param, Iterator<Object> iterator) {
+ return getDefaultValue(param.name(), param.defaultValue(), iterator);
+ }
+
+ static Object getDefaultValue(
+ String paramName, String paramDefaultValue, Iterator<Object> iterator) {
if (iterator != null) {
return iterator.next();
- } else if (param.defaultValue().isEmpty()) {
+ } else if (paramDefaultValue.isEmpty()) {
return Runtime.NONE;
} else {
try {
- Object defaultValue = defaultValueCache.getIfPresent(param.defaultValue());
+ Object defaultValue = defaultValueCache.getIfPresent(paramDefaultValue);
if (defaultValue != null) {
return defaultValue;
}
@@ -252,14 +256,16 @@ public class SkylarkSignatureProcessor {
.setEventHandler(Environment.FAIL_FAST_HANDLER)
.build()
.update("unbound", Runtime.UNBOUND);
- defaultValue = BuildFileAST.eval(env, param.defaultValue());
- defaultValueCache.put(param.defaultValue(), defaultValue);
+ defaultValue = BuildFileAST.eval(env, paramDefaultValue);
+ defaultValueCache.put(paramDefaultValue, defaultValue);
return defaultValue;
}
} catch (Exception e) {
- throw new RuntimeException(String.format(
- "Exception while processing @SkylarkSignature.Param %s, default value %s",
- param.name(), param.defaultValue()), e);
+ throw new RuntimeException(
+ String.format(
+ "Exception while processing @SkylarkSignature.Param %s, default value %s",
+ paramName, paramDefaultValue),
+ e);
}
}
}