DefinitionTree { definitions: [ Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 0, }, name: Identifier { position: 9, value: "m", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 10, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 11, }, return_type: FunctionLikeReturnTypeDefinition { colon: 12, type_definition: Void( Keyword { value: "void", position: 14, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 19, statements: [ Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 25, name: "$e", }, ), equals: 28, right: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Parenthesized( ParenthesizedExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 30, expression: ArrowFunction( ArrowFunctionExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, fn: Keyword { value: "fn", position: 31, }, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 34, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 35, }, return_type: FunctionLikeReturnTypeDefinition { colon: 36, type_definition: Identifier( TemplatedIdentifier { name: Identifier { position: 38, value: "\Generator", }, templates: None, }, ), }, double_arrow: 49, body: GeneratorOperation( Yield { comments: CommentGroup { comments: [], }, yield: Keyword { value: "yield", position: 52, }, }, ), }, ), right_parenthesis: 57, }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 58, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 59, }, }, ), }, ), semicolon: 60, }, ), ], right_brace: 62, }, }, ), ], eof: 64, }