mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Bound names of for-in/of statements cannot contain let (#4225)
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai daniel.batyai@h-lab.eu
This commit is contained in:
parent
de38764e88
commit
f58f15077f
@ -1374,6 +1374,15 @@ parser_parse_for_statement_start (parser_context_t *context_p) /**< context */
|
||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
||||
|
||||
lexer_expect_identifier (context_p, LEXER_IDENT_LITERAL);
|
||||
|
||||
#if ENABLED (JERRY_ESNEXT)
|
||||
if (context_p->token.keyword_type == LEXER_KEYW_LET
|
||||
&& token_type != LEXER_KEYW_VAR)
|
||||
{
|
||||
parser_raise_error (context_p, PARSER_ERR_LEXICAL_LET_BINDING);
|
||||
}
|
||||
#endif /* ENABLED (JERRY_ESNEXT) */
|
||||
|
||||
JERRY_ASSERT (context_p->token.type == LEXER_LITERAL
|
||||
&& context_p->token.lit_location.type == LEXER_IDENT_LITERAL);
|
||||
|
||||
|
||||
@ -325,7 +325,6 @@
|
||||
<test id="language/statements/for/S12.6.3_A9.js"><reason></reason></test>
|
||||
<test id="language/statements/generators/has-instance.js"><reason></reason></test>
|
||||
<test id="language/statements/generators/prototype-value.js"><reason></reason></test>
|
||||
<test id="language/statements/let/syntax/identifier-let-disallowed-as-boundname.js"><reason></reason></test>
|
||||
<test id="language/statements/try/S12.14_A16_T4.js"><reason>ES2019 change: catch without parameter is allowed</reason></test>
|
||||
<test id="built-ins/Number/S9.3.1_A2.js"><reason>Unicode 13: 0x180E is no longer whitespace character</reason></test>
|
||||
<test id="built-ins/Number/S9.3.1_A3_T1.js"><reason>Unicode 13: 0x180E is no longer whitespace character</reason></test>
|
||||
|
||||
@ -4500,8 +4500,6 @@
|
||||
<test id="language/statements/for-in/cptn-expr-itr.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/cptn-expr-skip-itr.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/cptn-expr-zero-itr.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/head-const-bound-names-let.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/head-let-bound-names-let.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/head-lhs-let.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/let-block-with-newline.js"><reason></reason></test>
|
||||
<test id="language/statements/for-in/let-identifier-with-newline.js"><reason></reason></test>
|
||||
@ -4579,11 +4577,9 @@
|
||||
<test id="language/statements/for-of/dstr/var-obj-ptrn-rest-getter.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/dstr/var-obj-ptrn-rest-skip-non-enumerable.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/dstr/var-obj-ptrn-rest-val-obj.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-const-bound-names-let.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-const-init.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-decl-no-expr.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-expr-no-expr.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-let-bound-names-let.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-let-init.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-var-init.js"><reason></reason></test>
|
||||
<test id="language/statements/for-of/head-var-no-expr.js"><reason></reason></test>
|
||||
@ -4661,7 +4657,6 @@
|
||||
<test id="language/statements/let/dstr/obj-ptrn-rest-getter.js"><reason></reason></test>
|
||||
<test id="language/statements/let/dstr/obj-ptrn-rest-skip-non-enumerable.js"><reason></reason></test>
|
||||
<test id="language/statements/let/dstr/obj-ptrn-rest-val-obj.js"><reason></reason></test>
|
||||
<test id="language/statements/let/syntax/identifier-let-disallowed-as-boundname.js"><reason></reason></test>
|
||||
<test id="language/statements/let/syntax/let-newline-yield-in-generator-function.js"><reason></reason></test>
|
||||
<test id="language/statements/switch/cptn-a-abrupt-empty.js"><reason></reason></test>
|
||||
<test id="language/statements/switch/cptn-abrupt-empty.js"><reason></reason></test>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user