Explicit equals call on non nullable receiver

This commit is contained in:
Pavel V. Talanov
2012-07-06 20:20:49 +04:00
parent 3814384762
commit 3d58d1ec16
4 changed files with 50 additions and 14 deletions
@@ -0,0 +1,24 @@
package foo
class Foo(val name: String) {
public fun equals(that: Any?): Boolean {
if (that !is Foo) {
return false
}
return this.name == that.name
}
}
fun callEqualsMethod(v1: Foo, v2: Foo): Boolean {
return v1.equals(v2)
}
fun box() : Boolean {
val a = Foo("abc")
val b = Foo("abc")
val c = Foo("def")
if (!callEqualsMethod(a, b)) return false
if (callEqualsMethod(a, c)) return false
return true
}