JS backend: fixed wrong result when compare null and undefined using Kotlin.equals.
This commit is contained in:
@@ -1,11 +1,18 @@
|
|||||||
package foo
|
package foo
|
||||||
|
|
||||||
|
native val undefined: Any = noImpl
|
||||||
|
|
||||||
fun box() : String {
|
fun box() : String {
|
||||||
val a: Int? = null
|
val a: Int? = null
|
||||||
val r = a == null
|
val r = a == null
|
||||||
if (!r || a != null)
|
if (!r || a != null)
|
||||||
return "wrong result on simple nullable check"
|
return "wrong result on simple nullable check"
|
||||||
|
|
||||||
|
//force using Kotlin.equals
|
||||||
|
val t = null
|
||||||
|
if (t != undefined)
|
||||||
|
return "wrong result when compare null and undefined using Kotlin.equals"
|
||||||
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
fun foo(): Int? = ++i;
|
fun foo(): Int? = ++i;
|
||||||
if (foo() == null)
|
if (foo() == null)
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ var kotlin = {set:function (receiver, key, value) {
|
|||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
Kotlin.equals = function (obj1, obj2) {
|
Kotlin.equals = function (obj1, obj2) {
|
||||||
if (obj1 === null || obj1 === undefined) {
|
if (obj1 == null) {
|
||||||
return obj2 === null;
|
return obj2 == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj1 instanceof Array) {
|
if (obj1 instanceof Array) {
|
||||||
|
|||||||
Reference in New Issue
Block a user