From 18d0b477b606f32411b2f277feef904f4d55e9b9 Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Thu, 14 Nov 2019 18:11:23 +0300 Subject: [PATCH] [JS IR] Fix `arrayOfNulls` API --- libraries/stdlib/js-ir/builtins/Library.kt | 3 ++- libraries/stdlib/js-ir/runtime/arrays.kt | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/stdlib/js-ir/builtins/Library.kt b/libraries/stdlib/js-ir/builtins/Library.kt index d08a5b594b8..85b9b7ce44c 100644 --- a/libraries/stdlib/js-ir/builtins/Library.kt +++ b/libraries/stdlib/js-ir/builtins/Library.kt @@ -6,6 +6,7 @@ package kotlin import kotlin.internal.PureReifiable +import kotlin.js.* /** * Returns a string representation of the object. Can be called with a null receiver, in which case @@ -24,7 +25,7 @@ public operator fun String?.plus(other: Any?): String = /** * Returns an array of objects of the given type with the given [size], initialized with null values. */ -public inline fun arrayOfNulls(size: Int): Array = Array(size) +public inline fun arrayOfNulls(size: Int): Array = fillArrayVal(Array(size), null) /** * Returns an array containing the specified elements. diff --git a/libraries/stdlib/js-ir/runtime/arrays.kt b/libraries/stdlib/js-ir/runtime/arrays.kt index a1b074bcef5..75987853a9f 100644 --- a/libraries/stdlib/js-ir/runtime/arrays.kt +++ b/libraries/stdlib/js-ir/runtime/arrays.kt @@ -9,6 +9,7 @@ import withType external fun Array(size: Int): Array +@PublishedApi internal fun fillArrayVal(array: Array, initValue: T): Array { for (i in 0..array.size - 1) { array[i] = initValue