@@ -219,8 +219,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
219
219
} ;
220
220
let mut partial_error_args = vec ! [ ] ;
221
221
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 ) {
224
224
TranslateTypeResult :: Translated ( trans) => trans,
225
225
TranslateTypeResult :: PartiallyTranslated ( trans, error) => {
226
226
is_partial = true ;
@@ -242,7 +242,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
242
242
} ;
243
243
// TODO create location from `arg_loc`?
244
244
let loc = None ;
245
- let name = arg_name
245
+ let name = fun_arg
246
+ . name
246
247
. as_ref ( )
247
248
. map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
248
249
. unwrap_or_else ( || format ! ( "arg_{i}" ) ) ;
@@ -443,11 +444,11 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
443
444
let mut structure = StructureBuilder :: new ( ) ;
444
445
structure. structure_type ( StructureType :: UnionStructureType ) ;
445
446
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 ( ) {
447
448
// bitfields can be translated into complete fields
448
- let mem = match & member_type . type_variant {
449
+ let mem = match & member . ty . type_variant {
449
450
TILTypeVariant :: Bitfield ( field) => field_from_bytes ( field. nbytes . get ( ) . into ( ) ) ,
450
- _ => match self . translate_type ( member_type ) {
451
+ _ => match self . translate_type ( & member . ty ) {
451
452
TranslateTypeResult :: Translated ( ty) => ty,
452
453
TranslateTypeResult :: Error ( error) => {
453
454
errors. push ( ( i, error) ) ;
@@ -464,7 +465,8 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
464
465
} ,
465
466
} ;
466
467
467
- let name = member_name
468
+ let name = member
469
+ . name
468
470
. as_ref ( )
469
471
. map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
470
472
. unwrap_or_else ( || format ! ( "member_{i}" ) ) ;
@@ -484,12 +486,13 @@ impl<F: Fn(usize, usize) -> Result<(), ()>> TranslateIDBTypes<'_, F> {
484
486
485
487
fn translate_enum ( & self , ty_enum : & TILEnum ) -> Ref < Type > {
486
488
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
489
492
. as_ref ( )
490
493
. map ( |name| name. as_utf8_lossy ( ) . to_string ( ) )
491
494
. unwrap_or_else ( || format ! ( "member_{i}" ) ) ;
492
- eb. insert ( name, * member_value ) ;
495
+ eb. insert ( name, member . value ) ;
493
496
}
494
497
Type :: enumeration (
495
498
& eb. finalize ( ) ,
0 commit comments