[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 3, column: 1, position: 7, }, name: SimpleIdentifier { span: Span { line: 3, column: 7, position: 13, }, value: "bar", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 3, column: 11, position: 17, }, members: [], right_brace: Span { line: 3, column: 12, position: 18, }, }, }, ), Noop( Span { line: 3, column: 13, position: 19, }, ), Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 1, position: 22, }, name: "$e", }, ), ), equals: Span { line: 5, column: 4, position: 25, }, right: New( NewExpression { new: Span { line: 5, column: 6, position: 27, }, target: AnonymousClass( AnonymousClassExpression { attributes: [], class: Span { line: 5, column: 10, position: 31, }, extends: Some( ClassExtends { extends: Span { line: 5, column: 16, position: 37, }, parent: SimpleIdentifier { span: Span { line: 5, column: 24, position: 45, }, value: "bar", }, }, ), implements: None, body: AnonymousClassBody { left_brace: Span { line: 5, column: 28, position: 49, }, members: [ ConcreteMethod( ConcreteMethod { comments: CommentGroup { comments: [], }, attributes: [], modifiers: MethodModifierGroup { modifiers: [ Public( Span { line: 6, column: 5, position: 55, }, ), ], }, function: Span { line: 6, column: 12, position: 62, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 6, column: 21, position: 71, }, value: "bar", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 24, position: 74, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 6, column: 25, position: 75, }, }, return_type: Some( ReturnType { colon: Span { line: 6, column: 26, position: 76, }, data_type: ParentReference( Span { line: 6, column: 28, position: 78, }, ), }, ), body: MethodBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 6, column: 35, position: 85, }, statements: [ Return( ReturnStatement { return: Span { line: 7, column: 9, position: 95, }, value: Some( New( NewExpression { new: Span { line: 7, column: 16, position: 102, }, target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 7, column: 20, position: 106, }, value: "bar", }, ), ), arguments: Some( ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 23, position: 109, }, arguments: [], right_parenthesis: Span { line: 7, column: 24, position: 110, }, }, ), }, ), ), ending: Semicolon( Span { line: 7, column: 25, position: 111, }, ), }, ), ], right_brace: Span { line: 8, column: 5, position: 117, }, }, }, ), ], right_brace: Span { line: 9, column: 1, position: 119, }, }, }, ), arguments: None, }, ), }, ), ending: Semicolon( Span { line: 9, column: 2, position: 120, }, ), }, ), ]