@@ -492,11 +492,17 @@ func (g *Generator) DefaultValue(member ParameterType, isDocString bool) string
492
492
return s
493
493
}
494
494
}
495
+
495
496
switch {
496
497
case member .Pointer != "" :
498
+ if member .Default != nil {
499
+ panic ("pointer type should not have a default" )
500
+ }
497
501
return literal ("NULL" )
502
+
503
+ // Cases that may have member.Default
498
504
case strings .HasPrefix (member .Type , "enum." ):
499
- if member .Default == "" {
505
+ if member .Default == nil {
500
506
if member .Type == "enum.optional_bool" {
501
507
// This Undefined is a special one that is not the zero-value, so that
502
508
// a stdbool.h bool cast correctly to WGPUOptionalBool; this means we
@@ -508,72 +514,75 @@ func (g *Generator) DefaultValue(member ParameterType, isDocString bool) string
508
514
return "_wgpu_ENUM_ZERO_INIT(WGPU" + PascalCase (strings .TrimPrefix (member .Type , "enum." )) + ")"
509
515
}
510
516
} else {
511
- return ref ("WGPU" + PascalCase (strings .TrimPrefix (member .Type , "enum." )) + "_" + PascalCase (member .Default ))
517
+ return ref ("WGPU" + PascalCase (strings .TrimPrefix (member .Type , "enum." )) + "_" + PascalCase (* member .Default ))
512
518
}
513
519
case strings .HasPrefix (member .Type , "bitflag." ):
514
- if member .Default == "" {
520
+ if member .Default == nil {
515
521
return ref ("WGPU" + PascalCase (strings .TrimPrefix (member .Type , "bitflag." )) + "_None" )
516
522
} else {
517
- return ref ("WGPU" + PascalCase (strings .TrimPrefix (member .Type , "bitflag." )) + "_" + PascalCase (member .Default ))
518
- }
519
- case strings .HasPrefix (member .Type , "struct." ):
520
- if member .Optional {
521
- return literal ("NULL" )
522
- } else {
523
- typ := strings .TrimPrefix (member .Type , "struct." )
524
- return ref ("WGPU_" + ConstantCase (typ ) + "_INIT" )
523
+ return ref ("WGPU" + PascalCase (strings .TrimPrefix (member .Type , "bitflag." )) + "_" + PascalCase (* member .Default ))
525
524
}
526
- case strings .HasPrefix (member .Type , "callback." ):
527
- typ := strings .TrimPrefix (member .Type , "callback." )
528
- return ref ("WGPU_" + ConstantCase (typ ) + "_CALLBACK_INFO_INIT" )
529
- case strings .HasPrefix (member .Type , "object." ):
530
- return literal ("NULL" )
531
- case strings .HasPrefix (member .Type , "array<" ):
532
- return literal ("NULL" )
533
- case member .Type == "out_string" , member .Type == "string_with_default_empty" , member .Type == "nullable_string" :
534
- return ref ("WGPU_STRING_VIEW_INIT" )
535
525
case member .Type == "uint16" , member .Type == "uint32" , member .Type == "uint64" , member .Type == "usize" , member .Type == "int32" :
536
- if member .Default == "" {
526
+ if member .Default == nil {
537
527
return literal ("0" )
538
- } else if strings .HasPrefix (member .Default , "constant." ) {
539
- return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (member .Default , "constant." )))
528
+ } else if strings .HasPrefix (* member .Default , "constant." ) {
529
+ return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (* member .Default , "constant." )))
540
530
} else {
541
- return literal (member .Default )
531
+ return literal (* member .Default )
542
532
}
543
533
case member .Type == "float32" :
544
- if member .Default == "" {
534
+ if member .Default == nil {
545
535
return literal ("0.f" )
546
- } else if strings .HasPrefix (member .Default , "constant." ) {
547
- return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (member .Default , "constant." )))
548
- } else if strings .Contains (member .Default , "." ) {
549
- return literal (member .Default + "f" )
536
+ } else if strings .HasPrefix (* member .Default , "constant." ) {
537
+ return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (* member .Default , "constant." )))
538
+ } else if strings .Contains (* member .Default , "." ) {
539
+ return literal (* member .Default + "f" )
550
540
} else {
551
- return literal (member .Default + ".f" )
541
+ return literal (* member .Default + ".f" )
552
542
}
553
543
case member .Type == "float64" :
554
- if member .Default == "" {
544
+ if member .Default == nil {
555
545
return literal ("0." )
556
- } else if strings .HasPrefix (member .Default , "constant." ) {
557
- return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (member .Default , "constant." )))
546
+ } else if strings .HasPrefix (* member .Default , "constant." ) {
547
+ return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (* member .Default , "constant." )))
558
548
} else {
559
- return literal (member .Default )
549
+ return literal (* member .Default )
560
550
}
561
551
case member .Type == "bool" :
562
- if member .Default == "" {
552
+ if member .Default == nil {
563
553
return literal ("0" )
564
- } else if strings .HasPrefix (member .Default , "constant." ) {
565
- return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (member .Default , "constant." )))
566
- } else if member .Default == "true" {
554
+ } else if strings .HasPrefix (* member .Default , "constant." ) {
555
+ return ref ("WGPU_" + ConstantCase (strings .TrimPrefix (* member .Default , "constant." )))
556
+ } else if * member .Default == "true" {
567
557
return literal ("1" )
568
- } else if member .Default == "false" {
558
+ } else if * member .Default == "false" {
569
559
return literal ("0" )
570
560
} else {
571
- return member .Default
561
+ return * member .Default
572
562
}
563
+ case member .Default != nil :
564
+ panic (fmt .Errorf ("type %s should not have a default" , member .Type ))
565
+
566
+ // Cases that should not have member.Default
567
+ case strings .HasPrefix (member .Type , "struct." ):
568
+ if member .Optional {
569
+ return literal ("NULL" )
570
+ } else {
571
+ typ := strings .TrimPrefix (member .Type , "struct." )
572
+ return ref ("WGPU_" + ConstantCase (typ ) + "_INIT" )
573
+ }
574
+ case strings .HasPrefix (member .Type , "callback." ):
575
+ typ := strings .TrimPrefix (member .Type , "callback." )
576
+ return ref ("WGPU_" + ConstantCase (typ ) + "_CALLBACK_INFO_INIT" )
577
+ case strings .HasPrefix (member .Type , "object." ):
578
+ return literal ("NULL" )
579
+ case strings .HasPrefix (member .Type , "array<" ):
580
+ return literal ("NULL" )
581
+ case member .Type == "out_string" , member .Type == "string_with_default_empty" , member .Type == "nullable_string" :
582
+ return ref ("WGPU_STRING_VIEW_INIT" )
573
583
case member .Type == "c_void" :
574
584
return literal ("NULL" )
575
585
default :
576
586
panic ("invalid prefix: " + member .Type + " in member " + member .Name )
577
- return ""
578
587
}
579
588
}
0 commit comments