KT-2819 Duplicate toString() method generated in data class
#KT-2819 Fixed
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
data class A(val x: Int) {
|
||||
fun equals(other: Any?): Boolean = false
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = A(0)
|
||||
return if (a equals a) "fail" else "OK"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
data class A(val x: Int) {
|
||||
fun equals(other: Any): Boolean = false
|
||||
}
|
||||
|
||||
data class B(val x: Int) {
|
||||
fun equals(other: B): Boolean = false
|
||||
}
|
||||
|
||||
data class C(val x: Int) {
|
||||
fun equals(): Boolean = false
|
||||
}
|
||||
|
||||
data class D(val x: Int) {
|
||||
fun equals(other: Any?, another: String): Boolean = false
|
||||
}
|
||||
|
||||
data class E(val x: Int) {
|
||||
fun equals(x: E): Boolean = false
|
||||
fun equals(x: Any?): Boolean = false
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
javaClass<A>().getDeclaredMethod("equals", javaClass<Any>())
|
||||
|
||||
javaClass<B>().getDeclaredMethod("equals", javaClass<Any>())
|
||||
javaClass<B>().getDeclaredMethod("equals", javaClass<B>())
|
||||
|
||||
javaClass<C>().getDeclaredMethod("equals", javaClass<Any>())
|
||||
javaClass<C>().getDeclaredMethod("equals")
|
||||
|
||||
javaClass<D>().getDeclaredMethod("equals", javaClass<Any>())
|
||||
javaClass<D>().getDeclaredMethod("equals", javaClass<Any>(), javaClass<String>())
|
||||
|
||||
javaClass<E>().getDeclaredMethod("equals", javaClass<Any>())
|
||||
javaClass<E>().getDeclaredMethod("equals", javaClass<E>())
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user