[
    FullOpeningTag(
        FullOpeningTagStatement {
            span: Span {
                line: 1,
                column: 1,
                position: 0,
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 3,
                column: 1,
                position: 7,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 3,
                    column: 10,
                    position: 16,
                },
                value: "true",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 3,
                    column: 14,
                    position: 20,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 3,
                    column: 15,
                    position: 21,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 3,
                        column: 16,
                        position: 22,
                    },
                    data_type: Void(
                        Span {
                            line: 3,
                            column: 18,
                            position: 24,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 3,
                    column: 23,
                    position: 29,
                },
                statements: [],
                right_brace: Span {
                    line: 3,
                    column: 24,
                    position: 30,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 4,
                column: 1,
                position: 32,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 4,
                    column: 10,
                    position: 41,
                },
                value: "false",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 4,
                    column: 15,
                    position: 46,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 4,
                    column: 16,
                    position: 47,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 4,
                        column: 17,
                        position: 48,
                    },
                    data_type: Void(
                        Span {
                            line: 4,
                            column: 19,
                            position: 50,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 4,
                    column: 24,
                    position: 55,
                },
                statements: [],
                right_brace: Span {
                    line: 4,
                    column: 25,
                    position: 56,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 5,
                column: 1,
                position: 58,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 5,
                    column: 10,
                    position: 67,
                },
                value: "null",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 5,
                    column: 14,
                    position: 71,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 5,
                    column: 15,
                    position: 72,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 5,
                        column: 16,
                        position: 73,
                    },
                    data_type: Void(
                        Span {
                            line: 5,
                            column: 18,
                            position: 75,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 5,
                    column: 23,
                    position: 80,
                },
                statements: [],
                right_brace: Span {
                    line: 5,
                    column: 24,
                    position: 81,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 6,
                column: 1,
                position: 83,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 6,
                    column: 10,
                    position: 92,
                },
                value: "readonly",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 6,
                    column: 18,
                    position: 100,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 6,
                    column: 19,
                    position: 101,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 6,
                        column: 20,
                        position: 102,
                    },
                    data_type: Void(
                        Span {
                            line: 6,
                            column: 22,
                            position: 104,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 6,
                    column: 27,
                    position: 109,
                },
                statements: [],
                right_brace: Span {
                    line: 6,
                    column: 28,
                    position: 110,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 7,
                column: 1,
                position: 112,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 7,
                    column: 10,
                    position: 121,
                },
                value: "self",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 7,
                    column: 14,
                    position: 125,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 7,
                    column: 15,
                    position: 126,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 7,
                        column: 16,
                        position: 127,
                    },
                    data_type: Void(
                        Span {
                            line: 7,
                            column: 18,
                            position: 129,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 7,
                    column: 23,
                    position: 134,
                },
                statements: [],
                right_brace: Span {
                    line: 7,
                    column: 24,
                    position: 135,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 8,
                column: 1,
                position: 137,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 8,
                    column: 10,
                    position: 146,
                },
                value: "parent",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 8,
                    column: 16,
                    position: 152,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 8,
                    column: 17,
                    position: 153,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 8,
                        column: 18,
                        position: 154,
                    },
                    data_type: Void(
                        Span {
                            line: 8,
                            column: 20,
                            position: 156,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 8,
                    column: 25,
                    position: 161,
                },
                statements: [],
                right_brace: Span {
                    line: 8,
                    column: 26,
                    position: 162,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 9,
                column: 1,
                position: 164,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 9,
                    column: 10,
                    position: 173,
                },
                value: "enum",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 9,
                    column: 14,
                    position: 177,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 9,
                    column: 15,
                    position: 178,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 9,
                        column: 16,
                        position: 179,
                    },
                    data_type: Void(
                        Span {
                            line: 9,
                            column: 18,
                            position: 181,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 9,
                    column: 23,
                    position: 186,
                },
                statements: [],
                right_brace: Span {
                    line: 9,
                    column: 24,
                    position: 187,
                },
            },
        },
    ),
    Function(
        FunctionStatement {
            comments: CommentGroup {
                comments: [],
            },
            attributes: [],
            function: Span {
                line: 10,
                column: 1,
                position: 189,
            },
            ampersand: None,
            name: SimpleIdentifier {
                span: Span {
                    line: 10,
                    column: 10,
                    position: 198,
                },
                value: "from",
            },
            parameters: FunctionParameterList {
                comments: CommentGroup {
                    comments: [],
                },
                left_parenthesis: Span {
                    line: 10,
                    column: 14,
                    position: 202,
                },
                parameters: CommaSeparated {
                    inner: [],
                    commas: [],
                },
                right_parenthesis: Span {
                    line: 10,
                    column: 15,
                    position: 203,
                },
            },
            return_type: Some(
                ReturnType {
                    colon: Span {
                        line: 10,
                        column: 16,
                        position: 204,
                    },
                    data_type: Void(
                        Span {
                            line: 10,
                            column: 18,
                            position: 206,
                        },
                    ),
                },
            ),
            body: FunctionBody {
                comments: CommentGroup {
                    comments: [],
                },
                left_brace: Span {
                    line: 10,
                    column: 23,
                    position: 211,
                },
                statements: [],
                right_brace: Span {
                    line: 10,
                    column: 24,
                    position: 212,
                },
            },
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 12,
                                    column: 1,
                                    position: 215,
                                },
                                value: "true",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 12,
                            column: 5,
                            position: 219,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 12,
                            column: 6,
                            position: 220,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 12,
                    column: 7,
                    position: 221,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 13,
                                    column: 1,
                                    position: 223,
                                },
                                value: "false",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 13,
                            column: 6,
                            position: 228,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 13,
                            column: 7,
                            position: 229,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 13,
                    column: 8,
                    position: 230,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 14,
                                    column: 1,
                                    position: 232,
                                },
                                value: "null",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 14,
                            column: 5,
                            position: 236,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 14,
                            column: 6,
                            position: 237,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 14,
                    column: 7,
                    position: 238,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 15,
                                    column: 1,
                                    position: 240,
                                },
                                value: "readonly",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 15,
                            column: 9,
                            position: 248,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 15,
                            column: 10,
                            position: 249,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 15,
                    column: 11,
                    position: 250,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 16,
                                    column: 1,
                                    position: 252,
                                },
                                value: "self",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 16,
                            column: 5,
                            position: 256,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 16,
                            column: 6,
                            position: 257,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 16,
                    column: 7,
                    position: 258,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 17,
                                    column: 1,
                                    position: 260,
                                },
                                value: "parent",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 17,
                            column: 7,
                            position: 266,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 17,
                            column: 8,
                            position: 267,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 17,
                    column: 9,
                    position: 268,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 18,
                                    column: 1,
                                    position: 270,
                                },
                                value: "enum",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 18,
                            column: 5,
                            position: 274,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 18,
                            column: 6,
                            position: 275,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 18,
                    column: 7,
                    position: 276,
                },
            ),
        },
    ),
    Expression(
        ExpressionStatement {
            expression: FunctionCall(
                FunctionCallExpression {
                    target: Identifier(
                        SimpleIdentifier(
                            SimpleIdentifier {
                                span: Span {
                                    line: 19,
                                    column: 1,
                                    position: 278,
                                },
                                value: "from",
                            },
                        ),
                    ),
                    arguments: ArgumentList {
                        comments: CommentGroup {
                            comments: [],
                        },
                        left_parenthesis: Span {
                            line: 19,
                            column: 5,
                            position: 282,
                        },
                        arguments: [],
                        right_parenthesis: Span {
                            line: 19,
                            column: 6,
                            position: 283,
                        },
                    },
                },
            ),
            ending: Semicolon(
                Span {
                    line: 19,
                    column: 7,
                    position: 284,
                },
            ),
        },
    ),
]
