Skip to content

Synthetic static method "InterfaceName$default" that used to resolve default arguments is not included to apiDump #142

Open
@antohaby

Description

@antohaby

This change is binary incompatible in Kotlin (current version 1.9.0)

v1

interface Foo {
 fun bar(name: String = "bar") 
}

v2

interface Bar {
 fun bar(name: String = "bar") 
}
interface Foo : Bar

At runtime, it fails with: NoSuchMethodError: Foo.bar$default...

However, BCV doesn't write this synthetic method to the API dump file. Thus this change is undetectable by BCV.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions