Kotlin: @JvmOverloads for methods with any default parameters. Bug: b/444157761 Change-Id: I02375cfb87c37e094760ce81168966f802ba8cef Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/266415 Reviewed-by: Jim Blackler <jimblackler@google.com> Commit-Queue: Jim Blackler <jimblackler@google.com> Reviewed-by: Nikita Gupta <nikigupta@google.com>
diff --git a/generator/templates/art/api_kotlin_object.kt b/generator/templates/art/api_kotlin_object.kt index a07c6df..4c0cc23 100644 --- a/generator/templates/art/api_kotlin_object.kt +++ b/generator/templates/art/api_kotlin_object.kt
@@ -38,6 +38,11 @@ {% for method in obj.methods if include_method(method) %} @FastNative @JvmName("{{ method.name.camelCase() }}") + {% for arg in kotlin_record_members(method.arguments) %} + {% if arg.type.category == 'callback function' or kotlin_default(arg) is not none %} + @JvmOverloads + {% break %}{% endif %} + {% endfor %} {{ kotlin_annotation(kotlin_return(method)) }} public external fun {{ method.name.camelCase() }}( //* TODO(b/341923892): rework async methods to use futures. {%- for arg in kotlin_record_members(method.arguments) %}