[JS BE] Extract backend specific code from shared stdlib sources

This commit is contained in:
Roman Artemev
2019-05-13 16:10:53 +03:00
committed by romanart
parent 02d84bf061
commit cd3fd60dd7
4 changed files with 5 additions and 4 deletions
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// KJS_WITH_FULL_RUNTIME
// EXPECTED_REACHABLE_NODES: 1556
package foo
@@ -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
internal fun imul(x: Int, y: Int): Int = definedExternally
internal inline fun isArrayish(o: dynamic) = js("Kotlin").isArrayish(o)
@@ -14,7 +14,7 @@ internal fun <T> Array<out T>.contentDeepHashCodeImpl(): Int {
for (element in this) {
val elementHash = when {
element == null -> 0
js("Kotlin").isArrayish(element) -> (element.unsafeCast<Array<*>>()).contentDeepHashCodeImpl()
isArrayish(element) -> (element.unsafeCast<Array<*>>()).contentDeepHashCodeImpl()
element is UByteArray -> element.contentHashCode()
element is UShortArray -> element.contentHashCode()
+1 -1
View File
@@ -38,7 +38,7 @@ public operator fun dynamic.iterator(): Iterator<dynamic> {
return when {
this["iterator"] != null ->
this["iterator"]()
js("Kotlin").isArrayish(r) ->
isArrayish(r) ->
r.unsafeCast<Array<*>>().iterator()
else ->