[
    Class(
        Class {
            span: (
                3,
                1,
            ),
            name: SimpleIdentifier {
                span: (
                    3,
                    7,
                ),
                value: "foo",
            },
            modifiers: ClassModifierGroup {
                modifiers: [],
            },
            extends: None,
            implements: None,
            attributes: [],
            body: ClassBody {
                start: (
                    3,
                    11,
                ),
                end: (
                    10,
                    1,
                ),
                members: [
                    Method(
                        Method {
                            start: (
                                4,
                                12,
                            ),
                            end: (
                                9,
                                8,
                            ),
                            name: SimpleIdentifier {
                                span: (
                                    4,
                                    21,
                                ),
                                value: "__construct",
                            },
                            attributes: [],
                            parameters: MethodParameterList {
                                start: (
                                    4,
                                    32,
                                ),
                                end: (
                                    9,
                                    7,
                                ),
                                members: [
                                    MethodParameter {
                                        start: (
                                            5,
                                            9,
                                        ),
                                        end: (
                                            5,
                                            25,
                                        ),
                                        name: SimpleVariable {
                                            span: (
                                                5,
                                                23,
                                            ),
                                            name: "a",
                                        },
                                        attributes: [],
                                        type: Some(
                                            String,
                                        ),
                                        variadic: false,
                                        default: None,
                                        modifiers: PromotedPropertyModifierGroup {
                                            modifiers: [
                                                Public {
                                                    start: (
                                                        5,
                                                        9,
                                                    ),
                                                    end: (
                                                        5,
                                                        16,
                                                    ),
                                                },
                                            ],
                                        },
                                        by_ref: false,
                                    },
                                    MethodParameter {
                                        start: (
                                            6,
                                            9,
                                        ),
                                        end: (
                                            6,
                                            31,
                                        ),
                                        name: SimpleVariable {
                                            span: (
                                                6,
                                                29,
                                            ),
                                            name: "b",
                                        },
                                        attributes: [],
                                        type: Some(
                                            Integer,
                                        ),
                                        variadic: false,
                                        default: None,
                                        modifiers: PromotedPropertyModifierGroup {
                                            modifiers: [
                                                Public {
                                                    start: (
                                                        6,
                                                        9,
                                                    ),
                                                    end: (
                                                        6,
                                                        16,
                                                    ),
                                                },
                                                Readonly {
                                                    start: (
                                                        6,
                                                        16,
                                                    ),
                                                    end: (
                                                        6,
                                                        25,
                                                    ),
                                                },
                                            ],
                                        },
                                        by_ref: false,
                                    },
                                    MethodParameter {
                                        start: (
                                            7,
                                            9,
                                        ),
                                        end: (
                                            7,
                                            34,
                                        ),
                                        name: SimpleVariable {
                                            span: (
                                                7,
                                                32,
                                            ),
                                            name: "c",
                                        },
                                        attributes: [],
                                        type: Some(
                                            Float,
                                        ),
                                        variadic: false,
                                        default: None,
                                        modifiers: PromotedPropertyModifierGroup {
                                            modifiers: [
                                                Public {
                                                    start: (
                                                        7,
                                                        9,
                                                    ),
                                                    end: (
                                                        7,
                                                        16,
                                                    ),
                                                },
                                                Readonly {
                                                    start: (
                                                        7,
                                                        16,
                                                    ),
                                                    end: (
                                                        7,
                                                        25,
                                                    ),
                                                },
                                            ],
                                        },
                                        by_ref: true,
                                    },
                                    MethodParameter {
                                        start: (
                                            8,
                                            9,
                                        ),
                                        end: (
                                            8,
                                            15,
                                        ),
                                        name: SimpleVariable {
                                            span: (
                                                8,
                                                13,
                                            ),
                                            name: "e",
                                        },
                                        attributes: [],
                                        type: None,
                                        variadic: true,
                                        default: None,
                                        modifiers: PromotedPropertyModifierGroup {
                                            modifiers: [],
                                        },
                                        by_ref: true,
                                    },
                                ],
                            },
                            body: Some(
                                [],
                            ),
                            modifiers: MethodModifierGroup {
                                modifiers: [
                                    Public {
                                        start: (
                                            4,
                                            5,
                                        ),
                                        end: (
                                            4,
                                            12,
                                        ),
                                    },
                                ],
                            },
                            return_type: None,
                            by_ref: false,
                        },
                    ),
                ],
            },
        },
    ),
]
