From bd9f28bba694b7b015454fc486e43cd78b5418cf Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Fri, 2 Jul 2021 14:55:34 +0430 Subject: [PATCH] LibJS: Allow 'yield' as a variable name outside of generator functions --- Userland/Libraries/LibJS/Parser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp index 2c03379728..b423529c68 100644 --- a/Userland/Libraries/LibJS/Parser.cpp +++ b/Userland/Libraries/LibJS/Parser.cpp @@ -1680,6 +1680,10 @@ NonnullRefPtr Parser::parse_variable_declaration(bool for_l consume(TokenType::Identifier).value()); } else if (auto pattern = parse_binding_pattern()) { target = pattern.release_nonnull(); + } else if (!m_state.in_generator_function_context && match(TokenType::Yield)) { + target = create_ast_node( + { m_state.current_token.filename(), rule_start.position(), position() }, + consume().value()); } if (target.has()) {