Prechádzať zdrojové kódy

LibJS: Allow 'yield' as a variable name outside of generator functions

Ali Mohammad Pur 4 rokov pred
rodič
commit
bd9f28bba6
1 zmenil súbory, kde vykonal 4 pridanie a 0 odobranie
  1. 4 0
      Userland/Libraries/LibJS/Parser.cpp

+ 4 - 0
Userland/Libraries/LibJS/Parser.cpp

@@ -1680,6 +1680,10 @@ NonnullRefPtr<VariableDeclaration> 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<Identifier>(
+                { m_state.current_token.filename(), rule_start.position(), position() },
+                consume().value());
         }
 
         if (target.has<Empty>()) {