aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
diff options
context:
space:
mode:
authorGravatar Taras Tsugrii <ttsugrii@fb.com>2018-07-31 11:51:21 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-31 11:52:31 -0700
commit58f80df1378e4f8687ca6690001577f075de2038 (patch)
tree746ec0359b0019ddee94ffc7014b7e336fb3b1b7 /src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
parent4b8d0ae907749440edb8f5f899e570d58e4d963b (diff)
[Skylark] Cache isParamNamed computation.
When `isLegacyNamed` is `true`, `named` is considered to be `true` as well, so instead of going through an extra indirection and computation, just use `named` field to store combined result. Closes #5701. PiperOrigin-RevId: 206800781
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.java8
1 files changed, 2 insertions, 6 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 48c52f5791..e8df5abc0c 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
@@ -514,10 +514,6 @@ public final class FuncallExpression extends Expression {
return matchingMethod;
}
- private static boolean isParamNamed(ParamDescriptor param) {
- return param.isNamed() || param.isLegacyNamed();
- }
-
/**
* Returns the extra interpreter arguments for the given {@link SkylarkCallable}, to be added at
* the end of the argument list for the callable.
@@ -581,13 +577,13 @@ public final class FuncallExpression extends Expression {
"expected value of type '%s' for parameter '%s'",
type.toString(), param.getName()));
}
- if (isParamNamed(param) && keys.contains(param.getName())) {
+ if (param.isNamed() && keys.contains(param.getName())) {
return ArgumentListConversionResult.fromError(
String.format("got multiple values for keyword argument '%s'", param.getName()));
}
argIndex++;
} else { // No more positional arguments, or no more positional parameters.
- if (isParamNamed(param) && keys.remove(param.getName())) {
+ if (param.isNamed() && keys.remove(param.getName())) {
// Param specified by keyword argument.
value = kwargs.get(param.getName());
if (!type.contains(value)) {