[ Class { name: Identifier { name: "foo", }, attributes: [], extends: None, implements: [], body: [ Method { name: Identifier { name: "__construct", }, attributes: [], params: [ Param { name: Variable { name: "a", }, attributes: [], type: Some( String, ), variadic: false, default: None, flags: [ Public, ], by_ref: false, }, Param { name: Variable { name: "b", }, attributes: [], type: Some( Integer, ), variadic: false, default: None, flags: [ Public, Readonly, ], by_ref: false, }, Param { name: Variable { name: "c", }, attributes: [], type: Some( Float, ), variadic: false, default: None, flags: [ Public, Readonly, ], by_ref: true, }, Param { name: Variable { name: "e", }, attributes: [], type: None, variadic: true, default: None, flags: [], by_ref: true, }, ], body: [], flags: [ Public, ], return_type: None, by_ref: false, }, ], flags: [], }, ]