зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1130811 - Eliminate an else-after-return when parsing ES7 array comprehensions. r=shu
--HG-- extra : rebase_source : d801e039ada40e5b8be2e5beff1e0aa2d4ba2fbf
This commit is contained in:
Родитель
03696c4045
Коммит
18452dd552
|
@ -7719,15 +7719,17 @@ Parser<ParseHandler>::arrayInitializer()
|
||||||
TokenKind tt;
|
TokenKind tt;
|
||||||
if (!tokenStream.getToken(&tt, TokenStream::Operand))
|
if (!tokenStream.getToken(&tt, TokenStream::Operand))
|
||||||
return null();
|
return null();
|
||||||
|
|
||||||
|
// Handle an ES7 array comprehension first.
|
||||||
|
if (tt == TOK_FOR)
|
||||||
|
return arrayComprehension(begin);
|
||||||
|
|
||||||
if (tt == TOK_RB) {
|
if (tt == TOK_RB) {
|
||||||
/*
|
/*
|
||||||
* Mark empty arrays as non-constant, since we cannot easily
|
* Mark empty arrays as non-constant, since we cannot easily
|
||||||
* determine their type.
|
* determine their type.
|
||||||
*/
|
*/
|
||||||
handler.setListFlag(literal, PNX_NONCONST);
|
handler.setListFlag(literal, PNX_NONCONST);
|
||||||
} else if (tt == TOK_FOR) {
|
|
||||||
// ES6 array comprehension.
|
|
||||||
return arrayComprehension(begin);
|
|
||||||
} else {
|
} else {
|
||||||
tokenStream.ungetToken();
|
tokenStream.ungetToken();
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче