bf3e896464
If 'this' (implicit or explicit) was used as an extension receiver, and the corresponding call required a smart-cast, this information was effectively lost in "old" resolution & inference, but is required by "old" JVM BE to generate proper CHECKCASTs.
19 lines
330 B
Kotlin
Vendored
19 lines
330 B
Kotlin
Vendored
// TARGET_BACKEND: JVM
|
|
// FILE: Test.kt
|
|
open class KFoo {
|
|
fun foo(): String {
|
|
if (this is KFooBar) return bar
|
|
throw AssertionError()
|
|
}
|
|
}
|
|
|
|
class KFooBar : KFoo(), JBar
|
|
|
|
fun box(): String = KFooBar().foo()
|
|
|
|
// FILE: JBar.java
|
|
public interface JBar {
|
|
default String getBar() {
|
|
return "OK";
|
|
}
|
|
} |