9dd8eda1c9
Library methods such as 'listOf' are resolved to have the package fragments as their parents, but JVM expects their containing file classes as parents. This fix generates those file classes and uses them as parent replacements for such library methods.
36 lines
614 B
Kotlin
Vendored
36 lines
614 B
Kotlin
Vendored
// IGNORE_BACKEND: JS, NATIVE
|
|
|
|
// WITH_REFLECT
|
|
|
|
import kotlin.test.*
|
|
|
|
fun top() = 42
|
|
|
|
fun Int.intExt(): Int = this
|
|
|
|
class A {
|
|
fun mem() {}
|
|
}
|
|
|
|
class B {
|
|
fun mem() {}
|
|
}
|
|
|
|
|
|
fun checkEqual(x: Any, y: Any) {
|
|
assertEquals(x, y)
|
|
assertEquals(x.hashCode(), y.hashCode(), "Elements are equal but their hash codes are not: ${x.hashCode()} != ${y.hashCode()}")
|
|
}
|
|
|
|
fun box(): String {
|
|
checkEqual(::top, ::top)
|
|
checkEqual(Int::intExt, Int::intExt)
|
|
checkEqual(A::mem, A::mem)
|
|
|
|
assertFalse(::top == Int::intExt)
|
|
assertFalse(::top == A::mem)
|
|
assertFalse(A::mem == B::mem)
|
|
|
|
return "OK"
|
|
}
|