1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 21:55:07 +00:00

LibJS: Improve function hoisting across blocks

The parser now keeps track of a scope chain so that it can hoist
function declarations to the closest function scope.
This commit is contained in:
Hendi 2021-07-04 03:15:52 +02:00 committed by Linus Groh
parent 72f8d90dc5
commit 38fd980b0c
6 changed files with 79 additions and 22 deletions

View file

@ -8,7 +8,7 @@ test("basic functionality", () => {
});
// First two calls produce a ReferenceError, but the declarations should be hoisted
test.skip("functions are hoisted across non-lexical scopes", () => {
test("functions are hoisted across non-lexical scopes", () => {
expect(scopedHoisted).toBeUndefined();
expect(callScopedHoisted).toBeUndefined();
{