Files
ladybird/Tests/LibJS/AST/expected/named-function-expr-scope.txt
Andreas Kling fdd7809bd1 Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests
Created these while experimenting with LibJS. Might as well bring them
into the tree and increase our coverage.
2026-02-17 20:44:57 +01:00

53 lines
2.4 KiB
Plaintext

Program (script) @3:1
├─ VariableDeclaration (var) @3:1
│ └─ VariableDeclarator @3:1
│ ├─ Identifier "f" [global] (var) @3:5
│ └─ FunctionExpression "myFunc" @3:9
│ └─ body
│ └─ FunctionBody @4:5
│ └─ ReturnStatement @4:5
│ └─ Identifier "myFunc" [in-eval-scope] @4:12
├─ VariableDeclaration (var) @8:1
│ └─ VariableDeclarator @8:1
│ ├─ Identifier "g" [global] (var) @8:5
│ └─ FunctionExpression "gName" @8:9
│ ├─ parameters
│ │ └─ Identifier "x" [argument:0] @8:24
│ └─ body
│ └─ FunctionBody @9:5
│ └─ ReturnStatement @9:5
│ └─ CallExpression @9:17
│ ├─ Identifier "gName" [in-eval-scope] @9:12
│ └─ BinaryExpression (-) @9:20
│ ├─ Identifier "x" [argument:0] @9:18
│ └─ NumericLiteral 1 @9:22
├─ FunctionDeclaration "outer" @13:1
│ └─ body
│ └─ FunctionBody @14:5
│ ├─ VariableDeclaration (var) @14:5
│ │ └─ VariableDeclarator @14:5
│ │ ├─ Identifier "inner" [variable:0] (var) @14:9
│ │ └─ FunctionExpression "innerName" @14:17
│ │ └─ body
│ │ └─ FunctionBody @15:9
│ │ └─ ReturnStatement @15:9
│ │ └─ Identifier "innerName" [in-eval-scope] @15:16
│ └─ ReturnStatement @17:5
│ └─ Identifier "inner" [variable:0] (var) @17:12
└─ FunctionDeclaration "make_counter" @21:1
└─ body
└─ FunctionBody @22:5
├─ VariableDeclaration (let) @22:5
│ └─ VariableDeclarator @22:5
│ ├─ Identifier "count" (let) @22:9
│ └─ NumericLiteral 0 @22:17
└─ ReturnStatement @23:5
└─ FunctionExpression "tick" @23:12
└─ body
└─ FunctionBody @24:9
├─ ExpressionStatement @24:9
│ └─ UpdateExpression (++, postfix) @24:14
│ └─ Identifier "count" (let) @24:9
└─ ReturnStatement @25:9
└─ Identifier "tick" [in-eval-scope] @25:16