[ 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: "s", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 3, column: 9, position: 15, }, members: [], right_brace: Span { line: 3, column: 10, position: 16, }, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 5, column: 1, position: 19, }, name: SimpleIdentifier { span: Span { line: 5, column: 7, position: 25, }, value: "foo", }, extends: Some( ClassExtends { extends: Span { line: 5, column: 11, position: 29, }, parent: SimpleIdentifier { span: Span { line: 5, column: 19, position: 37, }, value: "s", }, }, ), implements: None, body: ClassBody { left_brace: Span { line: 5, column: 21, position: 39, }, members: [ ConcreteMethod( ConcreteMethod { comments: CommentGroup { comments: [], }, attributes: [], modifiers: MethodModifierGroup { modifiers: [ Public( Span { line: 6, column: 5, position: 45, }, ), ], }, function: Span { line: 6, column: 12, position: 52, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 6, column: 21, position: 61, }, value: "bar", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 24, position: 64, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 6, column: 25, position: 65, }, }, return_type: Some( ReturnType { colon: Span { line: 6, column: 26, position: 66, }, data_type: ParentReference( Span { line: 6, column: 28, position: 68, }, ), }, ), body: MethodBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 6, column: 35, position: 75, }, statements: [ Return( ReturnStatement { return: Span { line: 7, column: 9, position: 85, }, value: Some( New( NewExpression { new: Span { line: 7, column: 16, position: 92, }, target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 7, column: 20, position: 96, }, value: "s", }, ), ), arguments: Some( ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 21, position: 97, }, arguments: [], right_parenthesis: Span { line: 7, column: 22, position: 98, }, }, ), }, ), ), ending: Semicolon( Span { line: 7, column: 23, position: 99, }, ), }, ), ], right_brace: Span { line: 8, column: 5, position: 105, }, }, }, ), ], right_brace: Span { line: 9, column: 1, position: 107, }, }, }, ), ]