Program (script) @1:1 └─ FunctionDeclaration "outer" @1:1 └─ body └─ FunctionBody @2:5 ├─ VariableDeclaration (var) @2:5 │ └─ VariableDeclarator @2:5 │ ├─ Identifier "x" [variable:0] (var) @2:9 │ └─ NumericLiteral 1 @2:13 ├─ FunctionDeclaration "inner" @3:5 │ └─ body │ └─ FunctionBody @4:9 │ └─ ReturnStatement @4:9 │ └─ ObjectExpression @4:16 │ └─ ObjectProperty @4:16 │ ├─ StringLiteral "x" @4:18 │ └─ NumericLiteral 42 @4:21 └─ ReturnStatement @6:5 └─ Identifier "x" [variable:0] (var) @6:12