[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Class( ClassStatement { attributes: [], modifiers: ClassModifierGroup { modifiers: [], }, class: Span { line: 3, column: 1, position: 8, }, name: SimpleIdentifier { span: Span { line: 3, column: 7, position: 14, }, value: "foo", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 3, column: 11, position: 18, }, members: [ ConcreteConstructor( ConcreteConstructor { comments: CommentGroup { comments: [], }, attributes: [], modifiers: MethodModifierGroup { modifiers: [ Public( Span { line: 4, column: 5, position: 24, }, ), ], }, function: Span { line: 4, column: 12, position: 31, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 4, column: 21, position: 40, }, value: "__construct", }, parameters: ConstructorParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 32, position: 51, }, parameters: CommaSeparated { inner: [ ConstructorParameter { attributes: [], comments: CommentGroup { comments: [], }, ampersand: None, name: SimpleVariable { span: Span { line: 5, column: 32, position: 84, }, name: "$s", }, data_type: Some( String( Span { line: 5, column: 25, position: 77, }, ), ), ellipsis: None, default: Some( Literal( String( LiteralString { value: "h", span: Span { line: 5, column: 37, position: 89, }, kind: DoubleQuoted, }, ), ), ), modifiers: PromotedPropertyModifierGroup { modifiers: [ Readonly( Span { line: 5, column: 9, position: 61, }, ), Public( Span { line: 5, column: 18, position: 70, }, ), ], }, }, ], commas: [ Span { line: 5, column: 40, position: 92, }, ], }, right_parenthesis: Span { line: 6, column: 5, position: 98, }, }, body: MethodBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 6, column: 7, position: 100, }, statements: [], right_brace: Span { line: 6, column: 8, position: 101, }, }, }, ), ], right_brace: Span { line: 7, column: 1, position: 103, }, }, }, ), ]