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.
18 lines
428 B
Kotlin
Vendored
18 lines
428 B
Kotlin
Vendored
abstract class Base {
|
|
final override fun toString() = "OK"
|
|
final override fun hashCode() = 42
|
|
final override fun equals(other: Any?) = false
|
|
}
|
|
|
|
data class DataClass(val field: String) : Base()
|
|
|
|
fun box(): String {
|
|
val d = DataClass("x")
|
|
|
|
if (d.toString() != "OK") return "Fail toString"
|
|
if (d.hashCode() != 42) return "Fail hashCode"
|
|
if (d.equals(d) != false) return "Fail equals"
|
|
|
|
return "OK"
|
|
}
|