blob: 341d4fcd5fe3dc4c5df54d19a4b83b84b192cb12 [file]
// ISSUE: KT-87549
// CHECK_BYTECODE_LISTING
open class A {
open fun foo(a: String = "a", b: String = "b"): String = a + b
}
@OptIn(ExperimentalVersionOverloading::class)
class B : A() {
override fun foo(a: String, @IntroducedAt("1") b: String): String = a + b
}
fun box(): String {
val b = B()
val foo1 = B::class.java.getMethod("foo", String::class.java, String::class.java)
val foo2 = B::class.java.getMethod("foo", String::class.java)
val r1 = foo1.invoke(b, "O", "K") as String
val r2 = foo2.invoke(b, "O") as String
return when {
r1 == "OK" && r2 == "Ob" -> "OK"
else -> "Fail. r1: $r1; r2:$r2"
}
}