573188bdc4
Currently FirThisReceiverExpression of instance methods are translated to references of the class' thisReceiver, not the method's dispatch receiver, which causes problems with IrFrameMap::typeOf, as the class' thisReceiver is not in the typeMap. This commit translates non-qualified "this" references of instance methods to references of the methods' dispatch receiver.
14 lines
191 B
Kotlin
Vendored
14 lines
191 B
Kotlin
Vendored
open class A {
|
|
open fun foo() = "FAIL"
|
|
|
|
fun bar() = if (this is C) foo() else foo()
|
|
}
|
|
|
|
open class B : A()
|
|
|
|
open class C : B() {
|
|
override fun foo() = "OK"
|
|
}
|
|
|
|
fun box() = C().bar()
|