[
    FullOpeningTag(
        Span(
            1,
            1,
        ),
    ),
    Namespace(
        Unbraced(
            UnbracedNamespace {
                start: Span(
                    3,
                    1,
                ),
                name: SimpleIdentifier {
                    span: Span(
                        3,
                        11,
                    ),
                    value: "f",
                },
                end: Span(
                    3,
                    12,
                ),
                statements: [
                    Class(
                        Class {
                            attributes: [],
                            modifiers: ClassModifierGroup {
                                modifiers: [],
                            },
                            class: Span(
                                5,
                                1,
                            ),
                            name: SimpleIdentifier {
                                span: Span(
                                    5,
                                    7,
                                ),
                                value: "s",
                            },
                            extends: None,
                            implements: None,
                            body: ClassBody {
                                left_brace: Span(
                                    5,
                                    9,
                                ),
                                members: [
                                    ConcreteMethod(
                                        ConcreteMethod {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: MethodModifierGroup {
                                                modifiers: [
                                                    Public(
                                                        Span(
                                                            6,
                                                            5,
                                                        ),
                                                    ),
                                                    Static(
                                                        Span(
                                                            6,
                                                            12,
                                                        ),
                                                    ),
                                                ],
                                            },
                                            function: Span(
                                                6,
                                                19,
                                            ),
                                            ampersand: None,
                                            name: SimpleIdentifier {
                                                span: Span(
                                                    6,
                                                    28,
                                                ),
                                                value: "foo",
                                            },
                                            parameters: FunctionParameterList {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: Span(
                                                    6,
                                                    31,
                                                ),
                                                parameters: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_parenthesis: Span(
                                                    6,
                                                    32,
                                                ),
                                            },
                                            return_type: None,
                                            body: MethodBody {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_brace: Span(
                                                    6,
                                                    34,
                                                ),
                                                statements: [
                                                    Echo {
                                                        echo: Span(
                                                            7,
                                                            9,
                                                        ),
                                                        values: [
                                                            Literal(
                                                                String(
                                                                    LiteralString {
                                                                        value: "huh?\n",
                                                                        span: Span(
                                                                            7,
                                                                            14,
                                                                        ),
                                                                    },
                                                                ),
                                                            ),
                                                        ],
                                                        ending: Semicolon(
                                                            Span(
                                                                7,
                                                                22,
                                                            ),
                                                        ),
                                                    },
                                                ],
                                                right_brace: Span(
                                                    8,
                                                    5,
                                                ),
                                            },
                                        },
                                    ),
                                ],
                                right_brace: Span(
                                    9,
                                    1,
                                ),
                            },
                        },
                    ),
                    Constant(
                        Constant {
                            comments: CommentGroup {
                                comments: [],
                            },
                            const: Span(
                                11,
                                1,
                            ),
                            entries: [
                                ConstantEntry {
                                    name: SimpleIdentifier {
                                        span: Span(
                                            11,
                                            7,
                                        ),
                                        value: "self",
                                    },
                                    equals: Span(
                                        11,
                                        12,
                                    ),
                                    value: New {
                                        new: Span(
                                            11,
                                            14,
                                        ),
                                        target: Identifier(
                                            SimpleIdentifier(
                                                SimpleIdentifier {
                                                    span: Span(
                                                        11,
                                                        18,
                                                    ),
                                                    value: "s",
                                                },
                                            ),
                                        ),
                                        arguments: None,
                                    },
                                },
                            ],
                            semicolon: Span(
                                11,
                                19,
                            ),
                        },
                    ),
                    Constant(
                        Constant {
                            comments: CommentGroup {
                                comments: [],
                            },
                            const: Span(
                                12,
                                1,
                            ),
                            entries: [
                                ConstantEntry {
                                    name: SimpleIdentifier {
                                        span: Span(
                                            12,
                                            7,
                                        ),
                                        value: "parent",
                                    },
                                    equals: Span(
                                        12,
                                        14,
                                    ),
                                    value: New {
                                        new: Span(
                                            12,
                                            16,
                                        ),
                                        target: Identifier(
                                            SimpleIdentifier(
                                                SimpleIdentifier {
                                                    span: Span(
                                                        12,
                                                        20,
                                                    ),
                                                    value: "s",
                                                },
                                            ),
                                        ),
                                        arguments: None,
                                    },
                                },
                            ],
                            semicolon: Span(
                                12,
                                21,
                            ),
                        },
                    ),
                    Class(
                        Class {
                            attributes: [],
                            modifiers: ClassModifierGroup {
                                modifiers: [],
                            },
                            class: Span(
                                14,
                                1,
                            ),
                            name: SimpleIdentifier {
                                span: Span(
                                    14,
                                    7,
                                ),
                                value: "a",
                            },
                            extends: None,
                            implements: None,
                            body: ClassBody {
                                left_brace: Span(
                                    14,
                                    9,
                                ),
                                members: [
                                    ConcreteMethod(
                                        ConcreteMethod {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: MethodModifierGroup {
                                                modifiers: [
                                                    Private(
                                                        Span(
                                                            15,
                                                            5,
                                                        ),
                                                    ),
                                                    Static(
                                                        Span(
                                                            15,
                                                            13,
                                                        ),
                                                    ),
                                                ],
                                            },
                                            function: Span(
                                                15,
                                                20,
                                            ),
                                            ampersand: None,
                                            name: SimpleIdentifier {
                                                span: Span(
                                                    15,
                                                    29,
                                                ),
                                                value: "foo",
                                            },
                                            parameters: FunctionParameterList {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: Span(
                                                    15,
                                                    32,
                                                ),
                                                parameters: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_parenthesis: Span(
                                                    15,
                                                    33,
                                                ),
                                            },
                                            return_type: None,
                                            body: MethodBody {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_brace: Span(
                                                    15,
                                                    35,
                                                ),
                                                statements: [
                                                    Echo {
                                                        echo: Span(
                                                            16,
                                                            9,
                                                        ),
                                                        values: [
                                                            Literal(
                                                                String(
                                                                    LiteralString {
                                                                        value: "here!\n",
                                                                        span: Span(
                                                                            16,
                                                                            14,
                                                                        ),
                                                                    },
                                                                ),
                                                            ),
                                                        ],
                                                        ending: Semicolon(
                                                            Span(
                                                                16,
                                                                23,
                                                            ),
                                                        ),
                                                    },
                                                ],
                                                right_brace: Span(
                                                    17,
                                                    5,
                                                ),
                                            },
                                        },
                                    ),
                                    ConcreteMethod(
                                        ConcreteMethod {
                                            comments: CommentGroup {
                                                comments: [],
                                            },
                                            attributes: [],
                                            modifiers: MethodModifierGroup {
                                                modifiers: [
                                                    Public(
                                                        Span(
                                                            19,
                                                            5,
                                                        ),
                                                    ),
                                                ],
                                            },
                                            function: Span(
                                                19,
                                                12,
                                            ),
                                            ampersand: None,
                                            name: SimpleIdentifier {
                                                span: Span(
                                                    19,
                                                    21,
                                                ),
                                                value: "f",
                                            },
                                            parameters: FunctionParameterList {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_parenthesis: Span(
                                                    19,
                                                    22,
                                                ),
                                                parameters: CommaSeparated {
                                                    inner: [],
                                                    commas: [],
                                                },
                                                right_parenthesis: Span(
                                                    19,
                                                    23,
                                                ),
                                            },
                                            return_type: None,
                                            body: MethodBody {
                                                comments: CommentGroup {
                                                    comments: [],
                                                },
                                                left_brace: Span(
                                                    19,
                                                    25,
                                                ),
                                                statements: [
                                                    Expression {
                                                        expression: FunctionCall {
                                                            target: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            20,
                                                                            9,
                                                                        ),
                                                                        value: "var_dump",
                                                                    },
                                                                ),
                                                            ),
                                                            arguments: ArgumentList {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: Span(
                                                                    20,
                                                                    17,
                                                                ),
                                                                arguments: [
                                                                    Positional {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        ellipsis: None,
                                                                        value: Identifier(
                                                                            SimpleIdentifier(
                                                                                SimpleIdentifier {
                                                                                    span: Span(
                                                                                        20,
                                                                                        18,
                                                                                    ),
                                                                                    value: "self",
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                ],
                                                                right_parenthesis: Span(
                                                                    20,
                                                                    22,
                                                                ),
                                                            },
                                                        },
                                                        ending: Semicolon(
                                                            Span(
                                                                20,
                                                                23,
                                                            ),
                                                        ),
                                                    },
                                                    Expression {
                                                        expression: FunctionCall {
                                                            target: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            21,
                                                                            9,
                                                                        ),
                                                                        value: "var_dump",
                                                                    },
                                                                ),
                                                            ),
                                                            arguments: ArgumentList {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: Span(
                                                                    21,
                                                                    17,
                                                                ),
                                                                arguments: [
                                                                    Positional {
                                                                        comments: CommentGroup {
                                                                            comments: [],
                                                                        },
                                                                        ellipsis: None,
                                                                        value: Identifier(
                                                                            SimpleIdentifier(
                                                                                SimpleIdentifier {
                                                                                    span: Span(
                                                                                        21,
                                                                                        18,
                                                                                    ),
                                                                                    value: "parent",
                                                                                },
                                                                            ),
                                                                        ),
                                                                    },
                                                                ],
                                                                right_parenthesis: Span(
                                                                    21,
                                                                    24,
                                                                ),
                                                            },
                                                        },
                                                        ending: Semicolon(
                                                            Span(
                                                                21,
                                                                25,
                                                            ),
                                                        ),
                                                    },
                                                    Expression {
                                                        expression: StaticMethodCall {
                                                            target: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            23,
                                                                            9,
                                                                        ),
                                                                        value: "self",
                                                                    },
                                                                ),
                                                            ),
                                                            double_colon: Span(
                                                                23,
                                                                13,
                                                            ),
                                                            method: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            23,
                                                                            15,
                                                                        ),
                                                                        value: "foo",
                                                                    },
                                                                ),
                                                            ),
                                                            arguments: ArgumentList {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: Span(
                                                                    23,
                                                                    18,
                                                                ),
                                                                arguments: [],
                                                                right_parenthesis: Span(
                                                                    23,
                                                                    19,
                                                                ),
                                                            },
                                                        },
                                                        ending: Semicolon(
                                                            Span(
                                                                23,
                                                                20,
                                                            ),
                                                        ),
                                                    },
                                                    Expression {
                                                        expression: StaticMethodCall {
                                                            target: Parenthesized {
                                                                start: Span(
                                                                    24,
                                                                    9,
                                                                ),
                                                                expr: Identifier(
                                                                    SimpleIdentifier(
                                                                        SimpleIdentifier {
                                                                            span: Span(
                                                                                24,
                                                                                10,
                                                                            ),
                                                                            value: "self",
                                                                        },
                                                                    ),
                                                                ),
                                                                end: Span(
                                                                    24,
                                                                    14,
                                                                ),
                                                            },
                                                            double_colon: Span(
                                                                24,
                                                                15,
                                                            ),
                                                            method: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            24,
                                                                            17,
                                                                        ),
                                                                        value: "foo",
                                                                    },
                                                                ),
                                                            ),
                                                            arguments: ArgumentList {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: Span(
                                                                    24,
                                                                    20,
                                                                ),
                                                                arguments: [],
                                                                right_parenthesis: Span(
                                                                    24,
                                                                    21,
                                                                ),
                                                            },
                                                        },
                                                        ending: Semicolon(
                                                            Span(
                                                                24,
                                                                22,
                                                            ),
                                                        ),
                                                    },
                                                    Expression {
                                                        expression: StaticMethodCall {
                                                            target: Parenthesized {
                                                                start: Span(
                                                                    25,
                                                                    9,
                                                                ),
                                                                expr: Identifier(
                                                                    SimpleIdentifier(
                                                                        SimpleIdentifier {
                                                                            span: Span(
                                                                                25,
                                                                                10,
                                                                            ),
                                                                            value: "parent",
                                                                        },
                                                                    ),
                                                                ),
                                                                end: Span(
                                                                    25,
                                                                    16,
                                                                ),
                                                            },
                                                            double_colon: Span(
                                                                25,
                                                                17,
                                                            ),
                                                            method: Identifier(
                                                                SimpleIdentifier(
                                                                    SimpleIdentifier {
                                                                        span: Span(
                                                                            25,
                                                                            19,
                                                                        ),
                                                                        value: "foo",
                                                                    },
                                                                ),
                                                            ),
                                                            arguments: ArgumentList {
                                                                comments: CommentGroup {
                                                                    comments: [],
                                                                },
                                                                left_parenthesis: Span(
                                                                    25,
                                                                    22,
                                                                ),
                                                                arguments: [],
                                                                right_parenthesis: Span(
                                                                    25,
                                                                    23,
                                                                ),
                                                            },
                                                        },
                                                        ending: Semicolon(
                                                            Span(
                                                                25,
                                                                24,
                                                            ),
                                                        ),
                                                    },
                                                ],
                                                right_brace: Span(
                                                    26,
                                                    5,
                                                ),
                                            },
                                        },
                                    ),
                                ],
                                right_brace: Span(
                                    27,
                                    1,
                                ),
                            },
                        },
                    ),
                    Expression {
                        expression: MethodCall {
                            target: Parenthesized {
                                start: Span(
                                    29,
                                    1,
                                ),
                                expr: New {
                                    new: Span(
                                        29,
                                        2,
                                    ),
                                    target: Identifier(
                                        SimpleIdentifier(
                                            SimpleIdentifier {
                                                span: Span(
                                                    29,
                                                    6,
                                                ),
                                                value: "a",
                                            },
                                        ),
                                    ),
                                    arguments: None,
                                },
                                end: Span(
                                    29,
                                    7,
                                ),
                            },
                            arrow: Span(
                                29,
                                8,
                            ),
                            method: Identifier(
                                SimpleIdentifier(
                                    SimpleIdentifier {
                                        span: Span(
                                            29,
                                            10,
                                        ),
                                        value: "f",
                                    },
                                ),
                            ),
                            arguments: ArgumentList {
                                comments: CommentGroup {
                                    comments: [],
                                },
                                left_parenthesis: Span(
                                    29,
                                    11,
                                ),
                                arguments: [],
                                right_parenthesis: Span(
                                    29,
                                    12,
                                ),
                            },
                        },
                        ending: Semicolon(
                            Span(
                                29,
                                13,
                            ),
                        ),
                    },
                ],
            },
        ),
    ),
]
