[ 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: "a", }, extends: None, implements: None, body: ClassBody { left_brace: Span { line: 3, column: 9, position: 15, }, members: [ ConcreteMethod( ConcreteMethod { comments: CommentGroup { comments: [], }, attributes: [], modifiers: MethodModifierGroup { modifiers: [ Public( Span { line: 4, column: 5, position: 21, }, ), ], }, function: Span { line: 4, column: 12, position: 28, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 4, column: 21, position: 37, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 24, position: 40, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 4, column: 25, position: 41, }, }, return_type: None, body: MethodBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 4, column: 27, position: 43, }, statements: [ Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 9, position: 53, }, name: "$q", }, ), ), equals: Span { line: 5, column: 12, position: 56, }, right: Closure( ClosureExpression { comments: CommentGroup { comments: [], }, attributes: [], static: None, function: Span { line: 5, column: 14, position: 58, }, ampersand: None, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 5, column: 22, position: 66, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 5, column: 23, position: 67, }, }, uses: None, return_type: None, body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 5, column: 25, position: 69, }, statements: [ Return( ReturnStatement { return: Span { line: 6, column: 13, position: 83, }, value: Some( StaticMethodCall( StaticMethodCallExpression { target: Parent, double_colon: Span { line: 6, column: 26, position: 96, }, method: SimpleIdentifier( SimpleIdentifier { span: Span { line: 6, column: 28, position: 98, }, value: "bar", }, ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 6, column: 31, position: 101, }, arguments: [], right_parenthesis: Span { line: 6, column: 32, position: 102, }, }, }, ), ), ending: Semicolon( Span { line: 6, column: 33, position: 103, }, ), }, ), ], right_brace: Span { line: 7, column: 9, position: 113, }, }, }, ), }, ), ending: Semicolon( Span { line: 7, column: 10, position: 114, }, ), }, ), ], right_brace: Span { line: 8, column: 5, position: 120, }, }, }, ), ], right_brace: Span { line: 9, column: 1, position: 122, }, }, }, ), ]