Program (script) @1:1 ├─ VariableDeclaration (let) @1:1 │ └─ VariableDeclarator @1:1 │ ├─ Identifier "obj" [global] (let) @1:5 │ └─ ObjectExpression @1:11 │ └─ ObjectProperty (method) @1:11 │ ├─ StringLiteral "foo" @2:12 │ └─ FunctionExpression async* "" @2:5 │ └─ body │ └─ FunctionBody @3:9 │ └─ ExpressionStatement @3:9 │ └─ YieldExpression @3:9 │ └─ NumericLiteral 1 @3:15 └─ ClassDeclaration @7:1 └─ ClassExpression "C" @7:1 ├─ constructor │ └─ FunctionExpression "C" [strict] [uses-this] [uses-this-from-environment] @7:1 │ └─ body │ └─ BlockStatement @7:1 └─ elements └─ ClassMethod @7:1 ├─ StringLiteral "bar" @8:12 └─ FunctionExpression async* "" [strict] @8:5 └─ body └─ FunctionBody @9:9 └─ ExpressionStatement @9:9 └─ YieldExpression @9:9 └─ NumericLiteral 2 @9:15