From 179acf0789b384e5c602b13a22c90af695ba08be Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Mon, 29 Apr 2019 17:48:23 +0300 Subject: [PATCH] [JS IR] stdlib: generate type-safe contentToString for primitive arrays Avoid casting 'primitive' arrays to Array<*> because they fail on runtime --- .../stdlib/js-ir/src/generated/_ArraysJs.kt | 18 +++++++++--------- .../kotlin-stdlib-gen/src/templates/Arrays.kt | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt b/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt index ebcceb73a00..e49803629ef 100644 --- a/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt +++ b/libraries/stdlib/js-ir/src/generated/_ArraysJs.kt @@ -410,7 +410,7 @@ public actual fun CharArray.contentHashCode(): Int { */ @SinceKotlin("1.1") public actual fun Array.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -420,7 +420,7 @@ public actual fun Array.contentToString(): String { */ @SinceKotlin("1.1") public actual fun ByteArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -430,7 +430,7 @@ public actual fun ByteArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun ShortArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -440,7 +440,7 @@ public actual fun ShortArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun IntArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -450,7 +450,7 @@ public actual fun IntArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun LongArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -460,7 +460,7 @@ public actual fun LongArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun FloatArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -470,7 +470,7 @@ public actual fun FloatArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun DoubleArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -480,7 +480,7 @@ public actual fun DoubleArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun BooleanArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** @@ -490,7 +490,7 @@ public actual fun BooleanArray.contentToString(): String { */ @SinceKotlin("1.1") public actual fun CharArray.contentToString(): String { - return arrayToString(this as Array<*>) + return joinToString(", ", "[", "]") } /** diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt index 96421ff08ca..b361e3f941f 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Arrays.kt @@ -206,7 +206,7 @@ object ArrayOps : TemplateGroupBase() { body { "definedExternally" } } on(Backend.IR) { - body { "return arrayToString(this as Array<*>)" } + body { """return joinToString(", ", "[", "]")""" } } } on(Platform.Native) {