[ Class { name: Identifier { start: ( 3, 7, ), name: "foo", end: ( 3, 11, ), }, attributes: [], extends: None, implements: [], body: [ Method { name: Identifier { start: ( 4, 21, ), name: "__construct", end: ( 4, 32, ), }, attributes: [], params: [ Param { name: Variable { start: ( 5, 23, ), name: "a", end: ( 5, 25, ), }, attributes: [], type: Some( String, ), variadic: false, default: None, flags: [ Public, ], by_ref: false, }, Param { name: Variable { start: ( 6, 29, ), name: "b", end: ( 6, 31, ), }, attributes: [], type: Some( Integer, ), variadic: false, default: None, flags: [ Public, Readonly, ], by_ref: false, }, Param { name: Variable { start: ( 7, 32, ), name: "c", end: ( 7, 34, ), }, attributes: [], type: Some( Float, ), variadic: false, default: None, flags: [ Public, Readonly, ], by_ref: true, }, Param { name: Variable { start: ( 8, 13, ), name: "e", end: ( 8, 15, ), }, attributes: [], type: None, variadic: true, default: None, flags: [], by_ref: true, }, ], body: [], flags: [ Public, ], return_type: None, by_ref: false, }, ], flags: [], }, ]