@@ -219,8 +219,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
219219 } ;
220220 let mut partial_error_args = vec ! [ ] ;
221221 let mut bn_args = Vec :: with_capacity ( fun. args . len ( ) ) ;
222- for ( i, ( arg_name , arg_type , _arg_loc ) ) in fun. args . iter ( ) . enumerate ( ) {
223- let arg = match self . translate_type ( arg_type ) {
222+ for ( i, fun_arg ) in fun. args . iter ( ) . enumerate ( ) {
223+ let arg = match self . translate_type ( & fun_arg . ty ) {
224224 TranslateTypeResult :: Translated ( trans) => trans,
225225 TranslateTypeResult :: PartiallyTranslated ( trans, error) => {
226226 is_partial = true ;
@@ -242,7 +242,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
242242 } ;
243243 // TODO create location from `arg_loc`?
244244 let loc = None ;
245- let name = arg_name
245+ let name = fun_arg
246+ . name
246247 . as_ref ( )
247248 . map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
248249 . unwrap_or_else ( || format ! ( "arg_{i}" ) ) ;
@@ -443,11 +444,11 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
443444 let mut structure = StructureBuilder :: new ( ) ;
444445 structure. structure_type ( StructureType :: UnionStructureType ) ;
445446 let mut errors = vec ! [ ] ;
446- for ( i, ( member_name , member_type ) ) in ty_union. members . iter ( ) . enumerate ( ) {
447+ for ( i, member ) in ty_union. members . iter ( ) . enumerate ( ) {
447448 // bitfields can be translated into complete fields
448- let mem = match & member_type . type_variant {
449+ let mem = match & member . ty . type_variant {
449450 TILTypeVariant :: Bitfield ( field) => field_from_bytes ( field. nbytes . get ( ) . into ( ) ) ,
450- _ => match self . translate_type ( member_type ) {
451+ _ => match self . translate_type ( & member . ty ) {
451452 TranslateTypeResult :: Translated ( ty) => ty,
452453 TranslateTypeResult :: Error ( error) => {
453454 errors. push ( ( i, error) ) ;
@@ -464,7 +465,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
464465 } ,
465466 } ;
466467
467- let name = member_name
468+ let name = member
469+ . name
468470 . as_ref ( )
469471 . map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
470472 . unwrap_or_else ( || format ! ( "member_{i}" ) ) ;
@@ -484,12 +486,13 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
484486
485487 fn translate_enum ( & self , ty_enum : & TILEnum ) -> Ref < Type > {
486488 let mut eb = EnumerationBuilder :: new ( ) ;
487- for ( i, ( name, member_value) ) in ty_enum. members . iter ( ) . enumerate ( ) {
488- let name = name
489+ for ( i, member) in ty_enum. members . iter ( ) . enumerate ( ) {
490+ let name = member
491+ . name
489492 . as_ref ( )
490493 . map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
491494 . unwrap_or_else ( || format ! ( "member_{i}" ) ) ;
492- eb. insert ( name, * member_value ) ;
495+ eb. insert ( name, member . value ) ;
493496 }
494497 Type :: enumeration (
495498 & eb. finalize ( ) ,
0 commit comments