Better error for disallowed trailing commas/parameters after rest elements (#9046)

* handle disordered rest parameter in function expressions

* remove spaces [lint]

* polish function parameters validation

* add test with arrow function and comma after rest parameter [babel-parser]
This commit is contained in:
Grigory Moroz
2018-11-21 07:49:36 +01:00
committed by Nicolò Ribaudo
parent 61c1c77a28
commit 445b14148e
13 changed files with 49 additions and 11 deletions

View File

@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:18)"
"throws": "Rest parameter must be last formal parameter (1:18)"
}

View File

@@ -0,0 +1,6 @@
function foo (
first,
...second,
third,
) {
};

View File

@@ -0,0 +1,4 @@
{
"throws": "Rest parameter must be last formal parameter (3:13)"
}

View File

@@ -0,0 +1 @@
(...rest,) => {}

View File

@@ -0,0 +1,3 @@
{
"throws": "A trailing comma is not permitted after the rest element (1:8)"
}

View File

@@ -0,0 +1,5 @@
(
first,
...second,
third
) => {};

View File

@@ -0,0 +1,4 @@
{
"throws": "Rest parameter must be last formal parameter (3:13)"
}

View File

@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:18)"
"throws": "Rest parameter must be last formal parameter (1:18)"
}

View File

@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:5)"
"throws": "Rest parameter must be last formal parameter (1:5)"
}

View File

@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:5)"
"throws": "Rest parameter must be last formal parameter (1:5)"
}

View File

@@ -1,3 +1,3 @@
{
"throws": "Unexpected token, expected \")\" (1:18)"
"throws": "Rest parameter must be last formal parameter (1:18)"
}