mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-03-10 15:51:01 +00:00
Otherwise extension methods named toString/equals/hashCode were generated incorrectly on JVM IR, which could result in AbstractMethodError at runtime. #KT-45963 Fixed
20 lines
374 B
Kotlin
Vendored
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()
|