diff options
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.java | 22 |
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); } } } |