equals generation for data classes

This commit is contained in:
Alex Tkachman
2012-09-17 18:48:17 +03:00
parent 8aa13a301c
commit 8e463ac0ac
11 changed files with 250 additions and 117 deletions
@@ -0,0 +1,6 @@
data class A(val v: Array<Int>)
fun box() : String {
if(A(array(0,1,2)) != A(array(0,1,2))) return "fail"
return "OK"
}
@@ -0,0 +1,13 @@
class Dummy {
fun equals(other: Any?) = true
}
open data class A(val v: Any)
class B(v: Any) : A(v)
fun box() : String {
val a = A(Dummy())
val b = B(Dummy())
return if(b == a) "OK" else "fail"
}
@@ -0,0 +1,6 @@
data class A(val v: IntArray)
fun box() : String {
if(A(intArray(0,1,2)) != A(intArray(0,1,2))) return "fail"
return "OK"
}
@@ -0,0 +1,11 @@
class Dummy {
fun equals(other: Any?) = true
}
data class A(val v: Any?)
fun box() : String {
val a = A(Dummy())
val b: A? = null
return if(a != b && b != a) "OK" else "fail"
}
@@ -0,0 +1,7 @@
data class A()
fun box() : String {
val a = A()
val b = a
return if(b == a) "OK" else "fail"
}