[
    FullOpeningTag(
        Span {
            line: 1,
            column: 1,
            position: 0,
        },
    ),
    If(
        IfStatement {
            if: Span {
                line: 3,
                column: 1,
                position: 7,
            },
            left_parenthesis: Span {
                line: 3,
                column: 4,
                position: 10,
            },
            condition: Variable(
                SimpleVariable(
                    SimpleVariable {
                        span: Span {
                            line: 3,
                            column: 5,
                            position: 11,
                        },
                        name: "$a",
                    },
                ),
            ),
            right_parenthesis: Span {
                line: 3,
                column: 7,
                position: 13,
            },
            body: Block {
                colon: Span {
                    line: 3,
                    column: 8,
                    position: 14,
                },
                statements: [
                    Expression(
                        ExpressionStatement {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span {
                                            line: 4,
                                            column: 5,
                                            position: 20,
                                        },
                                        name: "$a",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span {
                                    line: 4,
                                    column: 7,
                                    position: 22,
                                },
                            ),
                        },
                    ),
                ],
                elseifs: [],
                else: None,
                endif: Span {
                    line: 5,
                    column: 1,
                    position: 24,
                },
                ending: Semicolon(
                    Span {
                        line: 5,
                        column: 6,
                        position: 29,
                    },
                ),
            },
        },
    ),
    If(
        IfStatement {
            if: Span {
                line: 7,
                column: 1,
                position: 32,
            },
            left_parenthesis: Span {
                line: 7,
                column: 4,
                position: 35,
            },
            condition: Variable(
                SimpleVariable(
                    SimpleVariable {
                        span: Span {
                            line: 7,
                            column: 5,
                            position: 36,
                        },
                        name: "$a",
                    },
                ),
            ),
            right_parenthesis: Span {
                line: 7,
                column: 7,
                position: 38,
            },
            body: Block {
                colon: Span {
                    line: 7,
                    column: 8,
                    position: 39,
                },
                statements: [
                    Expression(
                        ExpressionStatement {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span {
                                            line: 8,
                                            column: 5,
                                            position: 45,
                                        },
                                        name: "$a",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span {
                                    line: 8,
                                    column: 7,
                                    position: 47,
                                },
                            ),
                        },
                    ),
                ],
                elseifs: [],
                else: Some(
                    IfStatementElseBlock {
                        else: Span {
                            line: 9,
                            column: 1,
                            position: 49,
                        },
                        colon: Span {
                            line: 9,
                            column: 5,
                            position: 53,
                        },
                        statements: [
                            Expression(
                                ExpressionStatement {
                                    expression: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span {
                                                    line: 10,
                                                    column: 5,
                                                    position: 59,
                                                },
                                                name: "$b",
                                            },
                                        ),
                                    ),
                                    ending: Semicolon(
                                        Span {
                                            line: 10,
                                            column: 7,
                                            position: 61,
                                        },
                                    ),
                                },
                            ),
                        ],
                    },
                ),
                endif: Span {
                    line: 11,
                    column: 1,
                    position: 63,
                },
                ending: Semicolon(
                    Span {
                        line: 11,
                        column: 6,
                        position: 68,
                    },
                ),
            },
        },
    ),
    If(
        IfStatement {
            if: Span {
                line: 13,
                column: 1,
                position: 71,
            },
            left_parenthesis: Span {
                line: 13,
                column: 4,
                position: 74,
            },
            condition: Bool {
                value: true,
            },
            right_parenthesis: Span {
                line: 13,
                column: 9,
                position: 79,
            },
            body: Block {
                colon: Span {
                    line: 13,
                    column: 10,
                    position: 80,
                },
                statements: [
                    Expression(
                        ExpressionStatement {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span {
                                            line: 14,
                                            column: 5,
                                            position: 86,
                                        },
                                        name: "$a",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span {
                                    line: 14,
                                    column: 7,
                                    position: 88,
                                },
                            ),
                        },
                    ),
                ],
                elseifs: [
                    IfStatementElseIfBlock {
                        elseif: Span {
                            line: 15,
                            column: 1,
                            position: 90,
                        },
                        left_parenthesis: Span {
                            line: 15,
                            column: 8,
                            position: 97,
                        },
                        condition: LogicalOperation(
                            And {
                                left: MethodCall {
                                    target: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span {
                                                    line: 15,
                                                    column: 9,
                                                    position: 98,
                                                },
                                                name: "$foo",
                                            },
                                        ),
                                    ),
                                    arrow: Span {
                                        line: 15,
                                        column: 13,
                                        position: 102,
                                    },
                                    method: Identifier(
                                        SimpleIdentifier(
                                            SimpleIdentifier {
                                                span: Span {
                                                    line: 15,
                                                    column: 15,
                                                    position: 104,
                                                },
                                                value: "bar",
                                            },
                                        ),
                                    ),
                                    arguments: ArgumentList {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left_parenthesis: Span {
                                            line: 15,
                                            column: 18,
                                            position: 107,
                                        },
                                        arguments: [],
                                        right_parenthesis: Span {
                                            line: 15,
                                            column: 19,
                                            position: 108,
                                        },
                                    },
                                },
                                double_ampersand: Span {
                                    line: 15,
                                    column: 21,
                                    position: 110,
                                },
                                right: NullsafeMethodCall {
                                    target: PropertyFetch {
                                        target: Variable(
                                            SimpleVariable(
                                                SimpleVariable {
                                                    span: Span {
                                                        line: 15,
                                                        column: 24,
                                                        position: 113,
                                                    },
                                                    name: "$baz",
                                                },
                                            ),
                                        ),
                                        arrow: Span {
                                            line: 15,
                                            column: 28,
                                            position: 117,
                                        },
                                        property: Identifier(
                                            SimpleIdentifier(
                                                SimpleIdentifier {
                                                    span: Span {
                                                        line: 15,
                                                        column: 30,
                                                        position: 119,
                                                    },
                                                    value: "bar",
                                                },
                                            ),
                                        ),
                                    },
                                    question_arrow: Span {
                                        line: 15,
                                        column: 33,
                                        position: 122,
                                    },
                                    method: Identifier(
                                        SimpleIdentifier(
                                            SimpleIdentifier {
                                                span: Span {
                                                    line: 15,
                                                    column: 36,
                                                    position: 125,
                                                },
                                                value: "qux",
                                            },
                                        ),
                                    ),
                                    arguments: ArgumentList {
                                        comments: CommentGroup {
                                            comments: [],
                                        },
                                        left_parenthesis: Span {
                                            line: 15,
                                            column: 39,
                                            position: 128,
                                        },
                                        arguments: [],
                                        right_parenthesis: Span {
                                            line: 15,
                                            column: 40,
                                            position: 129,
                                        },
                                    },
                                },
                            },
                        ),
                        right_parenthesis: Span {
                            line: 15,
                            column: 41,
                            position: 130,
                        },
                        colon: Span {
                            line: 15,
                            column: 42,
                            position: 131,
                        },
                        statements: [
                            Expression(
                                ExpressionStatement {
                                    expression: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span {
                                                    line: 16,
                                                    column: 5,
                                                    position: 137,
                                                },
                                                name: "$b",
                                            },
                                        ),
                                    ),
                                    ending: Semicolon(
                                        Span {
                                            line: 16,
                                            column: 7,
                                            position: 139,
                                        },
                                    ),
                                },
                            ),
                        ],
                    },
                ],
                else: None,
                endif: Span {
                    line: 17,
                    column: 1,
                    position: 141,
                },
                ending: Semicolon(
                    Span {
                        line: 17,
                        column: 6,
                        position: 146,
                    },
                ),
            },
        },
    ),
    If(
        IfStatement {
            if: Span {
                line: 19,
                column: 1,
                position: 149,
            },
            left_parenthesis: Span {
                line: 19,
                column: 4,
                position: 152,
            },
            condition: Bool {
                value: true,
            },
            right_parenthesis: Span {
                line: 19,
                column: 9,
                position: 157,
            },
            body: Block {
                colon: Span {
                    line: 19,
                    column: 10,
                    position: 158,
                },
                statements: [
                    Expression(
                        ExpressionStatement {
                            expression: Variable(
                                SimpleVariable(
                                    SimpleVariable {
                                        span: Span {
                                            line: 20,
                                            column: 5,
                                            position: 164,
                                        },
                                        name: "$a",
                                    },
                                ),
                            ),
                            ending: Semicolon(
                                Span {
                                    line: 20,
                                    column: 7,
                                    position: 166,
                                },
                            ),
                        },
                    ),
                ],
                elseifs: [
                    IfStatementElseIfBlock {
                        elseif: Span {
                            line: 21,
                            column: 1,
                            position: 168,
                        },
                        left_parenthesis: Span {
                            line: 21,
                            column: 8,
                            position: 175,
                        },
                        condition: Bool {
                            value: true,
                        },
                        right_parenthesis: Span {
                            line: 21,
                            column: 13,
                            position: 180,
                        },
                        colon: Span {
                            line: 21,
                            column: 14,
                            position: 181,
                        },
                        statements: [
                            Expression(
                                ExpressionStatement {
                                    expression: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span {
                                                    line: 22,
                                                    column: 5,
                                                    position: 187,
                                                },
                                                name: "$b",
                                            },
                                        ),
                                    ),
                                    ending: Semicolon(
                                        Span {
                                            line: 22,
                                            column: 7,
                                            position: 189,
                                        },
                                    ),
                                },
                            ),
                        ],
                    },
                    IfStatementElseIfBlock {
                        elseif: Span {
                            line: 23,
                            column: 1,
                            position: 191,
                        },
                        left_parenthesis: Span {
                            line: 23,
                            column: 8,
                            position: 198,
                        },
                        condition: Bool {
                            value: true,
                        },
                        right_parenthesis: Span {
                            line: 23,
                            column: 13,
                            position: 203,
                        },
                        colon: Span {
                            line: 23,
                            column: 14,
                            position: 204,
                        },
                        statements: [
                            Expression(
                                ExpressionStatement {
                                    expression: Variable(
                                        SimpleVariable(
                                            SimpleVariable {
                                                span: Span {
                                                    line: 24,
                                                    column: 5,
                                                    position: 210,
                                                },
                                                name: "$c",
                                            },
                                        ),
                                    ),
                                    ending: Semicolon(
                                        Span {
                                            line: 24,
                                            column: 7,
                                            position: 212,
                                        },
                                    ),
                                },
                            ),
                        ],
                    },
                ],
                else: None,
                endif: Span {
                    line: 25,
                    column: 1,
                    position: 214,
                },
                ending: Semicolon(
                    Span {
                        line: 25,
                        column: 6,
                        position: 219,
                    },
                ),
            },
        },
    ),
]
