Files
kotlin/compiler/testData/codegen/box/extensionFunctions/memberExtensionEqualsHashCodeToStringInInterface.kt
Alexander Udalov ea22f4b681 IR: check absence of extension receiver in isMethodOfAny
Otherwise extension methods named toString/equals/hashCode were
generated incorrectly on JVM IR, which could result in
AbstractMethodError at runtime.

 #KT-45963 Fixed
2021-04-11 13:54:13 +02:00

20 lines
374 B
Kotlin
Vendored

interface AssertDSL {
infix fun Any?.equals(other: Any?) {
if (this != other) throw AssertionError("$this != $other")
}
fun Any?.toString(): String = ""
fun Any?.hashCode(): Int = 0
}
class C(val x: Int) : AssertDSL
fun C.test(): String {
x equals 42
null.toString()
null.hashCode()
return "OK"
}
fun box(): String = C(42).test()