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.
8 lines
213 B
Kotlin
Vendored
8 lines
213 B
Kotlin
Vendored
//KT-3821 Invoke convention doesn't work for `this`
|
|
|
|
class A() {
|
|
operator fun invoke() = 42
|
|
fun foo() = this() // Expecting a function type, but found A
|
|
}
|
|
|
|
fun box() = if (A().foo() == 42) "OK" else "fail" |