[
    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,
                },
            },
        },
    ),
]
