[
    FullOpeningTag(
        Span(
            1,
            1,
        ),
    ),
    Function(
        Function {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span(
                3,
                1,
            ),
            ampersand: None,
            name: SimpleIdentifier {
                span: Span(
                    3,
                    10,
                ),
                value: "foo",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    3,
                    13,
                ),
                parameters: CommaSeparated {
                    inner: [
                        FunctionParameter {
                            comments: CommentGroup {
                                comments: [],
                            },
                            name: SimpleVariable {
                                span: Span(
                                    3,
                                    14,
                                ),
                                name: "a",
                            },
                            attributes: [],
                            data_type: None,
                            ellipsis: None,
                            default: None,
                            ampersand: None,
                        },
                    ],
                    commas: [],
                },
                right_parenthesis: Span(
                    3,
                    16,
                ),
            },
            return_type: None,
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span(
                    3,
                    18,
                ),
                statements: [
                    Global {
                        span: Span(
                            4,
                            5,
                        ),
                        variables: [
                            SimpleVariable(
                                SimpleVariable {
                                    span: Span(
                                        4,
                                        12,
                                    ),
                                    name: "f",
                                },
                            ),
                        ],
                    },
                    Global {
                        span: Span(
                            5,
                            5,
                        ),
                        variables: [
                            BracedVariableVariable(
                                BracedVariableVariable {
                                    start: Span(
                                        5,
                                        12,
                                    ),
                                    variable: ArrayIndex {
                                        array: Variable(
                                            SimpleVariable(
                                                SimpleVariable {
                                                    span: Span(
                                                        5,
                                                        14,
                                                    ),
                                                    name: "a",
                                                },
                                            ),
                                        ),
                                        left_bracket: Span(
                                            5,
                                            16,
                                        ),
                                        index: Some(
                                            Literal(
                                                Integer(
                                                    LiteralInteger {
                                                        value: "3",
                                                        span: Span(
                                                            5,
                                                            17,
                                                        ),
                                                    },
                                                ),
                                            ),
                                        ),
                                        right_bracket: Span(
                                            5,
                                            18,
                                        ),
                                    },
                                    end: Span(
                                        5,
                                        19,
                                    ),
                                },
                            ),
                        ],
                    },
                    Global {
                        span: Span(
                            6,
                            5,
                        ),
                        variables: [
                            BracedVariableVariable(
                                BracedVariableVariable {
                                    start: Span(
                                        6,
                                        12,
                                    ),
                                    variable: Variable(
                                        BracedVariableVariable(
                                            BracedVariableVariable {
                                                start: Span(
                                                    6,
                                                    14,
                                                ),
                                                variable: ArrayIndex {
                                                    array: Variable(
                                                        SimpleVariable(
                                                            SimpleVariable {
                                                                span: Span(
                                                                    6,
                                                                    16,
                                                                ),
                                                                name: "a",
                                                            },
                                                        ),
                                                    ),
                                                    left_bracket: Span(
                                                        6,
                                                        18,
                                                    ),
                                                    index: Some(
                                                        Literal(
                                                            Integer(
                                                                LiteralInteger {
                                                                    value: "3",
                                                                    span: Span(
                                                                        6,
                                                                        19,
                                                                    ),
                                                                },
                                                            ),
                                                        ),
                                                    ),
                                                    right_bracket: Span(
                                                        6,
                                                        20,
                                                    ),
                                                },
                                                end: Span(
                                                    6,
                                                    21,
                                                ),
                                            },
                                        ),
                                    ),
                                    end: Span(
                                        6,
                                        22,
                                    ),
                                },
                            ),
                            BracedVariableVariable(
                                BracedVariableVariable {
                                    start: Span(
                                        6,
                                        25,
                                    ),
                                    variable: Variable(
                                        BracedVariableVariable(
                                            BracedVariableVariable {
                                                start: Span(
                                                    6,
                                                    27,
                                                ),
                                                variable: Variable(
                                                    BracedVariableVariable(
                                                        BracedVariableVariable {
                                                            start: Span(
                                                                6,
                                                                29,
                                                            ),
                                                            variable: ArrayIndex {
                                                                array: Variable(
                                                                    SimpleVariable(
                                                                        SimpleVariable {
                                                                            span: Span(
                                                                                6,
                                                                                31,
                                                                            ),
                                                                            name: "a",
                                                                        },
                                                                    ),
                                                                ),
                                                                left_bracket: Span(
                                                                    6,
                                                                    33,
                                                                ),
                                                                index: Some(
                                                                    Literal(
                                                                        Integer(
                                                                            LiteralInteger {
                                                                                value: "3",
                                                                                span: Span(
                                                                                    6,
                                                                                    34,
                                                                                ),
                                                                            },
                                                                        ),
                                                                    ),
                                                                ),
                                                                right_bracket: Span(
                                                                    6,
                                                                    35,
                                                                ),
                                                            },
                                                            end: Span(
                                                                6,
                                                                36,
                                                            ),
                                                        },
                                                    ),
                                                ),
                                                end: Span(
                                                    6,
                                                    37,
                                                ),
                                            },
                                        ),
                                    ),
                                    end: Span(
                                        6,
                                        38,
                                    ),
                                },
                            ),
                            BracedVariableVariable(
                                BracedVariableVariable {
                                    start: Span(
                                        6,
                                        41,
                                    ),
                                    variable: Variable(
                                        BracedVariableVariable(
                                            BracedVariableVariable {
                                                start: Span(
                                                    6,
                                                    43,
                                                ),
                                                variable: Variable(
                                                    BracedVariableVariable(
                                                        BracedVariableVariable {
                                                            start: Span(
                                                                6,
                                                                45,
                                                            ),
                                                            variable: Variable(
                                                                BracedVariableVariable(
                                                                    BracedVariableVariable {
                                                                        start: Span(
                                                                            6,
                                                                            47,
                                                                        ),
                                                                        variable: ArrayIndex {
                                                                            array: Variable(
                                                                                SimpleVariable(
                                                                                    SimpleVariable {
                                                                                        span: Span(
                                                                                            6,
                                                                                            49,
                                                                                        ),
                                                                                        name: "a",
                                                                                    },
                                                                                ),
                                                                            ),
                                                                            left_bracket: Span(
                                                                                6,
                                                                                51,
                                                                            ),
                                                                            index: Some(
                                                                                Literal(
                                                                                    Integer(
                                                                                        LiteralInteger {
                                                                                            value: "3",
                                                                                            span: Span(
                                                                                                6,
                                                                                                52,
                                                                                            ),
                                                                                        },
                                                                                    ),
                                                                                ),
                                                                            ),
                                                                            right_bracket: Span(
                                                                                6,
                                                                                53,
                                                                            ),
                                                                        },
                                                                        end: Span(
                                                                            6,
                                                                            54,
                                                                        ),
                                                                    },
                                                                ),
                                                            ),
                                                            end: Span(
                                                                6,
                                                                55,
                                                            ),
                                                        },
                                                    ),
                                                ),
                                                end: Span(
                                                    6,
                                                    56,
                                                ),
                                            },
                                        ),
                                    ),
                                    end: Span(
                                        6,
                                        57,
                                    ),
                                },
                            ),
                        ],
                    },
                    Echo {
                        echo: Span(
                            8,
                            5,
                        ),
                        values: [
                            Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span(
                                            8,
                                            10,
                                        ),
                                        name: "p",
                                    },
                                ),
                            ),
                        ],
                        ending: Semicolon(
                            Span(
                                8,
                                12,
                            ),
                        ),
                    },
                ],
                right_brace: Span(
                    9,
                    1,
                ),
            },
        },
    ),
    Expression {
        expression: AssignmentOperation(
            Assign {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                11,
                                1,
                            ),
                            name: "p",
                        },
                    ),
                ),
                equals: Span(
                    11,
                    4,
                ),
                right: Literal(
                    String(
                        LiteralString {
                            value: "why!",
                            span: Span(
                                11,
                                6,
                            ),
                        },
                    ),
                ),
            },
        ),
        ending: Semicolon(
            Span(
                11,
                12,
            ),
        ),
    },
    Expression {
        expression: AssignmentOperation(
            Assign {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                12,
                                1,
                            ),
                            name: "s",
                        },
                    ),
                ),
                equals: Span(
                    12,
                    4,
                ),
                right: Literal(
                    String(
                        LiteralString {
                            value: "p",
                            span: Span(
                                12,
                                6,
                            ),
                        },
                    ),
                ),
            },
        ),
        ending: Semicolon(
            Span(
                12,
                9,
            ),
        ),
    },
    Expression {
        expression: AssignmentOperation(
            Assign {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                13,
                                1,
                            ),
                            name: "m",
                        },
                    ),
                ),
                equals: Span(
                    13,
                    4,
                ),
                right: Literal(
                    String(
                        LiteralString {
                            value: "s",
                            span: Span(
                                13,
                                6,
                            ),
                        },
                    ),
                ),
            },
        ),
        ending: Semicolon(
            Span(
                13,
                9,
            ),
        ),
    },
    Expression {
        expression: AssignmentOperation(
            Assign {
                left: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                14,
                                1,
                            ),
                            name: "f",
                        },
                    ),
                ),
                equals: Span(
                    14,
                    4,
                ),
                right: Literal(
                    String(
                        LiteralString {
                            value: "m",
                            span: Span(
                                14,
                                6,
                            ),
                        },
                    ),
                ),
            },
        ),
        ending: Semicolon(
            Span(
                14,
                9,
            ),
        ),
    },
    Expression {
        expression: FunctionCall {
            target: Identifier(
                SimpleIdentifier(
                    SimpleIdentifier {
                        span: Span(
                            15,
                            1,
                        ),
                        value: "foo",
                    },
                ),
            ),
            arguments: ArgumentList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span(
                    15,
                    4,
                ),
                arguments: [
                    Positional {
                        comments: CommentGroup {
                            comments: [],
                        },
                        ellipsis: None,
                        value: ShortArray(
                            Bracketed {
                                left_bracket: Span(
                                    15,
                                    5,
                                ),
                                inner: CommaSeparated {
                                    inner: [
                                        ArrayItem {
                                            key: Some(
                                                Literal(
                                                    Integer(
                                                        LiteralInteger {
                                                            value: "3",
                                                            span: Span(
                                                                15,
                                                                6,
                                                            ),
                                                        },
                                                    ),
                                                ),
                                            ),
                                            value: Literal(
                                                String(
                                                    LiteralString {
                                                        value: "f",
                                                        span: Span(
                                                            15,
                                                            11,
                                                        ),
                                                    },
                                                ),
                                            ),
                                            unpack: false,
                                            by_ref: false,
                                        },
                                    ],
                                    commas: [],
                                },
                                right_bracket: Span(
                                    15,
                                    14,
                                ),
                            },
                        ),
                    },
                ],
                right_parenthesis: Span(
                    15,
                    15,
                ),
            },
        },
        ending: Semicolon(
            Span(
                15,
                16,
            ),
        ),
    },
]
