09c3279cc7
NB here we have use derived class type with type arguments replaced with star-projections. This emulates JVM erasure (to some degree), but, unfortunately, that's best we can offer here at the moment.
31 lines
422 B
Kotlin
Vendored
31 lines
422 B
Kotlin
Vendored
// IGNORE_BACKEND_FIR: JVM_IR
|
|
// TARGET_BACKEND: JVM
|
|
|
|
// WITH_RUNTIME
|
|
// FILE: 1.kt
|
|
|
|
package test2
|
|
|
|
import test.A
|
|
|
|
public fun box(): String {
|
|
return B().test(B())
|
|
}
|
|
|
|
public class B : A() {
|
|
public fun test(other:Any): String {
|
|
if (other is B && other.s == 2) {
|
|
return "OK"
|
|
}
|
|
return "fail"
|
|
}
|
|
}
|
|
|
|
// FILE: 2.kt
|
|
|
|
package test
|
|
|
|
open class A {
|
|
@JvmField protected val s = 2;
|
|
}
|