JS backend: fix equality check for nullable types

* Generate simple check when compare with `null` literal.
* Use Kotlin.equals if type of receiver or argument is nullable.
* Don't call equals method if any of receiver or argument is null (at runtime, not only literal). For more information see KT-4356.

 #KT-7530 fixed
 #KT-7916 fixed
This commit is contained in:
Zalim Bashorov
2015-06-02 20:07:48 +03:00
parent 6aaccae6a9
commit 92457543bc
6 changed files with 133 additions and 1 deletions
@@ -0,0 +1,16 @@
package foo
class A {
override fun equals(other: Any?) = super.equals(other)
}
fun box(): String {
val a: A? = null
testTrue { a == null }
testFalse { a != null }
testTrue { null == a }
testFalse { null != a }
return "OK"
}