From b5b84029ab17996fb9483f99346a1d08bfa2d175 Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Sat, 10 Jul 2021 22:48:25 +0430 Subject: [PATCH] LibJS: Treat default parameter values as being in function context e.g. `new.target` should be permitted in `function foo(x = new.target) {}`. --- Userland/Libraries/LibJS/Parser.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Userland/Libraries/LibJS/Parser.cpp b/Userland/Libraries/LibJS/Parser.cpp index 44d6775786..846693cf93 100644 --- a/Userland/Libraries/LibJS/Parser.cpp +++ b/Userland/Libraries/LibJS/Parser.cpp @@ -1570,6 +1570,7 @@ Vector Parser::parse_formal_parameters(int& function_le RefPtr default_value; if (match(TokenType::Equals)) { consume(); + TemporaryChange change(m_state.in_function_context, true); has_default_parameter = true; function_length = parameters.size(); default_value = parse_expression(2);