mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-10 00:21:35 +00:00
Two KParameter instances are equal iff their backing descriptors are equal and their callables are equal
27 lines
975 B
Kotlin
Vendored
27 lines
975 B
Kotlin
Vendored
import kotlin.test.*
|
|
|
|
class A {
|
|
fun foo(s: String, x: Int) {}
|
|
fun bar(x: Int) {}
|
|
val baz = 42
|
|
}
|
|
|
|
fun box(): String {
|
|
// Dispatch receiver parameters of different callables are not equal
|
|
assertNotEquals(A::foo.parameters[0], A::bar.parameters[0])
|
|
assertNotEquals(A::foo.parameters[0], A::baz.parameters[0])
|
|
|
|
assertNotEquals(A::foo.parameters[1], A::bar.parameters[1])
|
|
assertNotEquals(A::foo.parameters[1], A::foo.parameters[2])
|
|
assertNotEquals(A::bar.parameters[1], A::foo.parameters[2])
|
|
|
|
assertEquals(A::foo.parameters[0], A::foo.parameters[0])
|
|
assertEquals(A::foo.parameters[0].hashCode(), A::foo.parameters[0].hashCode())
|
|
assertEquals(A::foo.parameters[1], A::foo.parameters[1])
|
|
assertEquals(A::foo.parameters[1].hashCode(), A::foo.parameters[1].hashCode())
|
|
assertEquals(A::bar.parameters[0], A::bar.parameters[0])
|
|
assertEquals(A::bar.parameters[0].hashCode(), A::bar.parameters[0].hashCode())
|
|
|
|
return "OK"
|
|
}
|