ladybird/Tests/LibJS/Runtime/functions
Andreas Kling 5238841da2 LibJS: Mark named function expression identifiers at individual level
Previously, when parsing a named function expression like
`Oops = function Oops() { Oops }`, the parser set a group-level flag
`might_be_variable_in_lexical_scope_in_named_function_assignment` that
propagated to the parent scope. This incorrectly prevented ALL `Oops`
identifiers from being marked as global, including those outside the
function expression.

Fix this by marking identifiers individually using
`set_is_inside_scope_with_eval()` only for identifiers inside the
function scope. This allows identifiers outside the function expression
to correctly use GetGlobal/SetGlobal while identifiers inside still
use GetBinding (since they may refer to the function's name binding).
2026-01-27 10:58:39 +01:00
..
arrow-functions.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
constructor-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-assignment-in-arguments.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-default-parameters.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-destructuring-parameters.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-duplicate-parameters.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-evaluation-order.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-expression-scoping.js LibJS: Mark named function expression identifiers at individual level 2026-01-27 10:58:39 +01:00
function-hoisting.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-length.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-missing-arg.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-name.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-nesting.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-new-target.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-prototype-writable.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-rest-params.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-spread.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-strict-mode.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-this-in-arguments.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
function-TypeError.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00