Use BuiltinFunction for all builtins
Replace the uses of AbstractFunction, MixedModeFunction,
SkylarkFunction and SimpleSkylarkFunction by BuiltinFunction.
--
MOS_MIGRATED_REVID=91763158
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index cc14802..8ca1e9e 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -558,13 +558,13 @@
@Test
public void testDictKeysTooManyArgs() throws Exception {
- checkEvalError("Invalid number of arguments (expected 0)",
+ checkEvalError("too many (2) positional arguments in call to keys(self: dict)",
"{'a': 1}.keys('abc')");
}
@Test
public void testDictKeysTooManyKeyArgs() throws Exception {
- checkEvalError("Invalid number of arguments (expected 0)",
+ checkEvalError("unexpected keyword 'arg' in call to keys(self: dict)",
"{'a': 1}.keys(arg='abc')");
}
@@ -576,8 +576,8 @@
@Test
public void testArgBothPosKey() throws Exception {
- checkEvalError("replace(this, old, new, maxsplit = null) got multiple values "
- + "for keyword argument 'new'",
- "'banana'.replace('a', 'o', 3, new=4)");
+ checkEvalErrorStartsWith("arguments 'old', 'new' passed both by position and by name "
+ + "in call to replace(self: string, ",
+ "'banana'.replace('a', 'o', 3, old='a', new=4)");
}
}