Explicit equals method for primitives and correct global equals method.
Includes cosmetics. #KT-2372 Fixed
This commit is contained in:
@@ -9,8 +9,8 @@ class Foo(val name: String) {
|
||||
}
|
||||
}
|
||||
|
||||
fun callEqualsMethod(v1: Foo, v2: Foo): Boolean {
|
||||
return v1.equals(v2)
|
||||
class Bar() {
|
||||
|
||||
}
|
||||
|
||||
fun box() : Boolean {
|
||||
@@ -18,7 +18,11 @@ fun box() : Boolean {
|
||||
val b = Foo("abc")
|
||||
val c = Foo("def")
|
||||
|
||||
if (!callEqualsMethod(a, b)) return false
|
||||
if (callEqualsMethod(a, c)) return false
|
||||
if (!(a equals b)) return false
|
||||
if (a equals c) return false
|
||||
if (Bar() equals Bar()) return false
|
||||
val g = Bar()
|
||||
if (!(g equals g)) return false
|
||||
if (g equals Bar()) return false
|
||||
return true
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package foo
|
||||
|
||||
fun box() : Boolean {
|
||||
val a = 2
|
||||
if (!(a equals a)) return false
|
||||
if (!(a equals 2)) return false
|
||||
if (!(a equals 2.0)) return false
|
||||
val c = "a"
|
||||
if (!("a" equals c)) return false
|
||||
if (!(null equals null)) return false
|
||||
val d = 5.6
|
||||
if (!(d.toShort() equals 5.toShort())) return false
|
||||
if (!(d.toByte() equals 5.toByte())) return false
|
||||
if (!(d.toFloat() equals 5.6.toFloat())) return false
|
||||
if (!(d.toInt() equals 5)) return false
|
||||
if (true equals false) return false
|
||||
|
||||
val n: Number = 3
|
||||
if (!(n equals 3.3.toInt())) return false
|
||||
return true
|
||||
}
|
||||
Reference in New Issue
Block a user