Kotlin: @JvmOverloads for structures with any default parameters.

Bug: b/444157761
Change-Id: Ied07ae80ecc37a68159410c2c09b07ad09d7f584
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/266414
Commit-Queue: Jim Blackler <jimblackler@google.com>
Reviewed-by: Nikita Gupta <nikigupta@google.com>
diff --git a/generator/templates/art/api_kotlin_structure.kt b/generator/templates/art/api_kotlin_structure.kt
index 72d5a13..810fa47 100644
--- a/generator/templates/art/api_kotlin_structure.kt
+++ b/generator/templates/art/api_kotlin_structure.kt
@@ -33,7 +33,10 @@
     import java.util.concurrent.Executor
 {% endif %}
 
-public class {{ structure.name.CamelCase() }}(
+public class {{ structure.name.CamelCase() }}
+    {%- for member in kotlin_record_members(structure.members) %}
+        {% if kotlin_default(member) is not none %} @JvmOverloads constructor{% break %}{% endif %}
+    {%- endfor %}(
     {% for member in kotlin_record_members(structure.members) %}
         {% if member.type.category in ['callback function']%}
         {{'     '}}@get:JvmName("get{{member.name.CamelCase()}}Executor")