Files
kotlin-fork/compiler/testData/codegen/box/smartCasts/kt19100.kt
T
Dmitry Petrov bf3e896464 Update 'this' extension receiver when there's a smart cast
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.
2017-07-21 08:58:52 +03:00

12 lines
203 B
Kotlin
Vendored

open class KFoo {
fun foo(): String {
if (this is KFooQux) return qux
throw AssertionError()
}
}
class KFooQux : KFoo()
val KFooQux.qux get() = "OK"
fun box() = KFooQux().foo()