[
    FullOpeningTag(
        Span(
            1,
            1,
        ),
    ),
    If(
        IfStatement {
            if: Span(
                3,
                1,
            ),
            condition: Parenthesized {
                left_parenthesis: Span(
                    3,
                    4,
                ),
                inner: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                3,
                                5,
                            ),
                            name: "a",
                        },
                    ),
                ),
                right_parenthesis: Span(
                    3,
                    7,
                ),
            },
            body: Statement {
                statement: Expression {
                    expression: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    3,
                                    9,
                                ),
                                name: "A",
                            },
                        ),
                    ),
                    ending: Semicolon(
                        Span(
                            3,
                            11,
                        ),
                    ),
                },
                elseifs: [
                    IfStatementElseIf {
                        elseif: Span(
                            4,
                            1,
                        ),
                        condition: Parenthesized {
                            left_parenthesis: Span(
                                4,
                                8,
                            ),
                            inner: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span(
                                            4,
                                            9,
                                        ),
                                        name: "b",
                                    },
                                ),
                            ),
                            right_parenthesis: Span(
                                4,
                                11,
                            ),
                        },
                        statement: Expression {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span(
                                            4,
                                            13,
                                        ),
                                        name: "B",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span(
                                    4,
                                    15,
                                ),
                            ),
                        },
                    },
                ],
                else: Some(
                    IfStatementElse {
                        else: Span(
                            5,
                            1,
                        ),
                        statement: Expression {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span(
                                            5,
                                            6,
                                        ),
                                        name: "C",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span(
                                    5,
                                    8,
                                ),
                            ),
                        },
                    },
                ),
            },
        },
    ),
    For(
        ForStatement {
            for: Span(
                7,
                1,
            ),
            iterator: Parenthesized {
                left_parenthesis: Span(
                    7,
                    5,
                ),
                inner: ForStatementIterator {
                    initializations: SemicolonTerminated {
                        inner: CommaSeparated {
                            inner: [],
                            commas: [],
                        },
                        semicolon: Span(
                            7,
                            6,
                        ),
                    },
                    conditions: SemicolonTerminated {
                        inner: CommaSeparated {
                            inner: [],
                            commas: [],
                        },
                        semicolon: Span(
                            7,
                            7,
                        ),
                    },
                    loop: CommaSeparated {
                        inner: [],
                        commas: [],
                    },
                },
                right_parenthesis: Span(
                    7,
                    8,
                ),
            },
            body: Statement(
                Expression {
                    expression: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    7,
                                    10,
                                ),
                                name: "foo",
                            },
                        ),
                    ),
                    ending: Semicolon(
                        Span(
                            7,
                            14,
                        ),
                    ),
                },
            ),
        },
    ),
    Foreach(
        ForeachStatement {
            foreach: Span(
                9,
                1,
            ),
            iterator: Parenthesized {
                left_parenthesis: Span(
                    9,
                    9,
                ),
                inner: Value {
                    expression: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    9,
                                    10,
                                ),
                                name: "a",
                            },
                        ),
                    ),
                    as: Span(
                        9,
                        13,
                    ),
                    ampersand: None,
                    value: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    9,
                                    16,
                                ),
                                name: "b",
                            },
                        ),
                    ),
                },
                right_parenthesis: Span(
                    9,
                    18,
                ),
            },
            body: Statement(
                Expression {
                    expression: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    9,
                                    20,
                                ),
                                name: "AB",
                            },
                        ),
                    ),
                    ending: Semicolon(
                        Span(
                            9,
                            23,
                        ),
                    ),
                },
            ),
        },
    ),
    While(
        WhileStatement {
            while: Span(
                11,
                1,
            ),
            condition: Parenthesized {
                left_parenthesis: Span(
                    11,
                    7,
                ),
                inner: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                11,
                                8,
                            ),
                            name: "a",
                        },
                    ),
                ),
                right_parenthesis: Span(
                    11,
                    10,
                ),
            },
            body: Statement(
                Expression {
                    expression: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    11,
                                    12,
                                ),
                                name: "A",
                            },
                        ),
                    ),
                    ending: Semicolon(
                        Span(
                            11,
                            14,
                        ),
                    ),
                },
            ),
        },
    ),
    DoWhile(
        DoWhileStatement {
            do: Span(
                13,
                1,
            ),
            body: Expression {
                expression: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                13,
                                4,
                            ),
                            name: "A",
                        },
                    ),
                ),
                ending: Semicolon(
                    Span(
                        13,
                        6,
                    ),
                ),
            },
            while: Span(
                13,
                8,
            ),
            condition: SemicolonTerminated {
                inner: Parenthesized {
                    left_parenthesis: Span(
                        13,
                        14,
                    ),
                    inner: Variable(
                        SimpleVariable(
                            SimpleVariable {
                                span: Span(
                                    13,
                                    15,
                                ),
                                name: "a",
                            },
                        ),
                    ),
                    right_parenthesis: Span(
                        13,
                        17,
                    ),
                },
                semicolon: Span(
                    13,
                    18,
                ),
            },
        },
    ),
    Declare(
        Declare {
            span: Span(
                15,
                1,
            ),
            entries: DeclareEntryGroup {
                start: Span(
                    15,
                    9,
                ),
                end: Span(
                    15,
                    15,
                ),
                entries: [
                    DeclareEntry {
                        key: SimpleIdentifier {
                            span: Span(
                                15,
                                10,
                            ),
                            value: "a",
                        },
                        span: Span(
                            15,
                            11,
                        ),
                        value: String(
                            LiteralString {
                                value: "b",
                                span: Span(
                                    15,
                                    12,
                                ),
                            },
                        ),
                    },
                ],
            },
            body: Expression {
                expression: Variable(
                    SimpleVariable(
                        SimpleVariable {
                            span: Span(
                                15,
                                17,
                            ),
                            name: "C",
                        },
                    ),
                ),
                end: Span(
                    15,
                    19,
                ),
            },
        },
    ),
]
