Added SpreadElement support.

testFail message fixes for object methods.
This commit is contained in:
Ingvar Stepanyan 2014-07-24 14:33:59 +03:00 committed by Marijn Haverbeke
parent 67bca2d549
commit eadda16c42
2 changed files with 14 additions and 2 deletions

View File

@ -1734,6 +1734,9 @@
case _new:
return parseNew();
case _ellipsis:
return parseSpread();
default:
unexpected();
}
@ -1752,6 +1755,15 @@
return finishNode(node, "NewExpression");
}
// Parse spread element '...expr'
function parseSpread() {
var node = startNode();
next();
node.argument = parseExpression(true);
return finishNode(node, "SpreadElement");
}
// Parse an object literal.
function parseObj() {

View File

@ -15773,9 +15773,9 @@ testFail("x \n isnt y", "Unexpected token (2:7)", {ecmaVersion: 6});
testFail("function default() {}", "Unexpected token (1:9)", {ecmaVersion: 6});
testFail("function hello() {'use strict'; ({ i: 10, s(eval) { } }); }", "Unexpected token (1:45)", {ecmaVersion: 6});
testFail("function hello() {'use strict'; ({ i: 10, s(eval) { } }); }", "Defining 'eval' in strict mode (1:44)", {ecmaVersion: 6});
testFail("function a() { \"use strict\"; ({ b(t, t) { } }); }", "Unexpected token (1:38)", {ecmaVersion: 6});
testFail("function a() { \"use strict\"; ({ b(t, t) { } }); }", "Argument name clash in strict mode (1:37)", {ecmaVersion: 6});
testFail("var super", "Unexpected token (1:5)", {ecmaVersion: 6});