From ce7092a638dd3424d59d92f713cb9603a8b53aa2 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Mon, 12 Apr 2021 16:55:36 +0300 Subject: [PATCH] More efficient Char(Int) in common, JS, and JS-IR --- libraries/stdlib/js-ir/runtime/numberConversion.kt | 4 ++-- libraries/stdlib/src/kotlin/CharCode.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/stdlib/js-ir/runtime/numberConversion.kt b/libraries/stdlib/js-ir/runtime/numberConversion.kt index 398feddd214..6d8878684b6 100644 --- a/libraries/stdlib/js-ir/runtime/numberConversion.kt +++ b/libraries/stdlib/js-ir/runtime/numberConversion.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -27,4 +27,4 @@ internal fun doubleToInt(a: Double): Int = when { else -> jsBitwiseOr(a, 0) } -internal fun numberToChar(a: dynamic) = Char(numberToInt(a) and 0xFFFF) \ No newline at end of file +internal fun numberToChar(a: dynamic) = Char(numberToInt(a).toUShort()) \ No newline at end of file diff --git a/libraries/stdlib/src/kotlin/CharCode.kt b/libraries/stdlib/src/kotlin/CharCode.kt index e7f574d8e33..4b5ab1ff6b5 100644 --- a/libraries/stdlib/src/kotlin/CharCode.kt +++ b/libraries/stdlib/src/kotlin/CharCode.kt @@ -22,7 +22,7 @@ public inline fun Char(code: Int): Char { if (code < Char.MIN_VALUE.code || code > Char.MAX_VALUE.code) { throw IllegalArgumentException("Invalid Char code: $code") } - return Char(code.toUShort()) + return code.toChar() } /**