diff --git a/js/js.translator/testData/box/dynamic/iterator.kt b/js/js.translator/testData/box/dynamic/iterator.kt index 6ab95117ba2..3b59121b239 100644 --- a/js/js.translator/testData/box/dynamic/iterator.kt +++ b/js/js.translator/testData/box/dynamic/iterator.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JS_IR // KJS_WITH_FULL_RUNTIME // EXPECTED_REACHABLE_NODES: 1556 package foo diff --git a/libraries/stdlib/js-v1/src/kotlin/currentBeMisc.kt b/libraries/stdlib/js-v1/src/kotlin/currentBeMisc.kt index 76d90a53708..44a23ca119e 100644 --- a/libraries/stdlib/js-v1/src/kotlin/currentBeMisc.kt +++ b/libraries/stdlib/js-v1/src/kotlin/currentBeMisc.kt @@ -9,4 +9,6 @@ package kotlin.js // Used for js.translator/testData/box/number/mulInt32.kt @library @JsName("imulEmulated") -internal fun imul(x: Int, y: Int): Int = definedExternally \ No newline at end of file +internal fun imul(x: Int, y: Int): Int = definedExternally + +internal inline fun isArrayish(o: dynamic) = js("Kotlin").isArrayish(o) \ No newline at end of file diff --git a/libraries/stdlib/js/src/kotlin/collections/ArraysJs.kt b/libraries/stdlib/js/src/kotlin/collections/ArraysJs.kt index 3bdab90ae4e..8e7f2bb347d 100644 --- a/libraries/stdlib/js/src/kotlin/collections/ArraysJs.kt +++ b/libraries/stdlib/js/src/kotlin/collections/ArraysJs.kt @@ -14,7 +14,7 @@ internal fun Array.contentDeepHashCodeImpl(): Int { for (element in this) { val elementHash = when { element == null -> 0 - js("Kotlin").isArrayish(element) -> (element.unsafeCast>()).contentDeepHashCodeImpl() + isArrayish(element) -> (element.unsafeCast>()).contentDeepHashCodeImpl() element is UByteArray -> element.contentHashCode() element is UShortArray -> element.contentHashCode() diff --git a/libraries/stdlib/js/src/kotlin/dynamic.kt b/libraries/stdlib/js/src/kotlin/dynamic.kt index 600dd0e6216..58f66459397 100644 --- a/libraries/stdlib/js/src/kotlin/dynamic.kt +++ b/libraries/stdlib/js/src/kotlin/dynamic.kt @@ -38,7 +38,7 @@ public operator fun dynamic.iterator(): Iterator { return when { this["iterator"] != null -> this["iterator"]() - js("Kotlin").isArrayish(r) -> + isArrayish(r) -> r.unsafeCast>().iterator() else ->