Closed
Bug 1288507
Opened 9 years ago
Closed 9 years ago
yield not always parsed correctly
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
DUPLICATE
of bug 1305566
Tracking | Status | |
---|---|---|
firefox50 | --- | affected |
People
(Reporter: anba, Unassigned)
References
(Blocks 1 open bug)
Details
`yield` is not parsed correctly in some edge cases.
Test case 1:
---
function f({yield}) {}
(({yield}) => {});
function* g() { (function yield(){}); }
---
Expected: No SyntaxError
Actual: Throws SyntaxError "SyntaxError: yield is a reserved identifier"
Test case 2:
---
function f(...yield) {}
---
Expected: No SyntaxError
Actual: SyntaxError "no parameter name after ..."
Test case 3:
---
yield => 0;
---
Expected: No SyntaxError
Actual: SyntaxError "invalid arrow-function arguments (parentheses around the arrow-function may help)"
Test case 4:
---
((...yield) => {});
---
Expected: No SyntaxError
Actual: SyntaxError "expected rest argument name, got keyword 'yield'"
Test case 5:
---
function f() { let yield }
---
Expected: No SyntaxError
Actual: SyntaxError "missing ; before statement"
Test case 6:
---
(function* yield(){});
function* f3() { (yield) => 0; }
function* f5() { (a = yield * 2) => 0; }
function* f8() { ([yield]) => 0; }
function* f9() { ([...yield]) => 0; }
function* f11() { ({a: yield}) => 0; }
function* f12() { ({yield: yield}) => 0; }
---
Expected: Throws a SyntaxError for each expression/declaration
Actual: No SyntaxErrors
Comment 1•9 years ago
|
||
all testcase fixed by bug 1305566
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=b6f1126059ef32ac61c7974e14e3ac7e79722e4b&tochange=cdac94ae694ffaaaa92f9f131157ec0a00920462
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•