return NJS_TOKEN_ERROR;
}
+ if (arg->index > 0) {
+ njs_parser_syntax_error(vm, parser, "Duplicate parameter names");
+
+ return NJS_TOKEN_ILLEGAL;
+ }
+
arg->index = index;
ret = njs_name_copy(vm, &arg->name, njs_parser_text(parser));
"binded.length"),
nxt_string("0") },
+ { nxt_string("function f(a,a) { };"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("function f(a,b,a) { };"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("function f(a, ...a) { };"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("(function(a,a) { })"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("(function(a,...a) { })"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("(function f(a,a) { })"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
+ { nxt_string("(function f(a,...a) { })"),
+ nxt_string("SyntaxError: Duplicate parameter names in 1") },
+
{ nxt_string("function f(a,b) { }; f.length"),
nxt_string("2") },