aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-07-13 11:47:17 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-13 11:48:44 -0700
commit23aab171d93d7a6a0945b64fecf3e2094626e1fc (patch)
tree71225019cc278c8faed35dd86d8b4b959b294b55 /src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
parent32e9fee4e2192a340d0b1823538bf8e9fdf92b65 (diff)
Remove SkylarkCallable.mandatoryPositionals
RELNOTES: None. PiperOrigin-RevId: 204505003
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java40
1 files changed, 1 insertions, 39 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
index 877b087ea6..6bd4c9e2e8 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
@@ -614,48 +614,10 @@ public final class FuncallExpression extends Expression {
ImmutableMap.Builder<String, Object> extraKwargsBuilder = ImmutableMap.builder();
boolean acceptsExtraArgs = !callable.extraPositionals().name().isEmpty();
boolean acceptsExtraKwargs = !callable.extraKeywords().name().isEmpty();
- Class<?>[] javaMethodSignatureParams = method.getMethod().getParameterTypes();
- int numExtraInterpreterParams = 0;
- numExtraInterpreterParams += acceptsExtraArgs ? 1 : 0;
- numExtraInterpreterParams += acceptsExtraKwargs ? 1 : 0;
- numExtraInterpreterParams += callable.useLocation() ? 1 : 0;
- numExtraInterpreterParams += callable.useAst() ? 1 : 0;
- numExtraInterpreterParams += callable.useEnvironment() ? 1 : 0;
- numExtraInterpreterParams += callable.useSkylarkSemantics() ? 1 : 0;
-
- int mandatoryPositionals = callable.mandatoryPositionals();
- if (mandatoryPositionals < 0) {
- if (callable.parameters().length > 0) {
- mandatoryPositionals = 0;
- } else {
- mandatoryPositionals = javaMethodSignatureParams.length - numExtraInterpreterParams;
- }
- }
- if (mandatoryPositionals > args.size()) {
- return ArgumentListConversionResult.fromError("too few arguments");
- }
- // First process the legacy positional parameters.
int argIndex = 0;
- if (mandatoryPositionals > 0) {
- for (Class<?> param : javaMethodSignatureParams) {
- Object value = args.get(argIndex);
- if (!param.isAssignableFrom(value.getClass())) {
- return ArgumentListConversionResult.fromError(
- String.format(
- "Cannot convert parameter at position %d from type %s to type %s",
- argIndex, EvalUtils.getDataTypeName(value), param.toString()));
- }
- builder.add(value);
- argIndex++;
- if (argIndex >= mandatoryPositionals) {
- // Stops for specified parameters instead.
- break;
- }
- }
- }
- // Then process parameters specified in callable.parameters()
+ // Process parameters specified in callable.parameters()
Set<String> keys = new LinkedHashSet<>(kwargs.keySet());
// Positional parameters are always enumerated before non-positional parameters,
// And default-valued positional parameters are always enumerated after other positional