From aba97033f0175a7eaef762d3999b06714b1c620c Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Sat, 30 May 2020 02:31:22 +0300 Subject: [PATCH] Promote String <-> utf8 and CharArray conversions to stable --- libraries/stdlib/common/src/kotlin/TextH.kt | 32 +++++++++---------- .../kotlin/text/CharacterCodingExceptionJs.kt | 4 +-- libraries/stdlib/js/src/kotlin/text/string.kt | 32 +++++++++---------- .../jvm/runtime/kotlin/text/TypeAliases.kt | 4 +-- .../stdlib/jvm/src/kotlin/text/StringsJVM.kt | 28 ++++++++-------- .../kotlin/text/CharacterCodingException.kt | 4 +-- 6 files changed, 52 insertions(+), 52 deletions(-) diff --git a/libraries/stdlib/common/src/kotlin/TextH.kt b/libraries/stdlib/common/src/kotlin/TextH.kt index 1fec8957928..b8a1c8d5452 100644 --- a/libraries/stdlib/common/src/kotlin/TextH.kt +++ b/libraries/stdlib/common/src/kotlin/TextH.kt @@ -92,8 +92,8 @@ public expect fun String(chars: CharArray, offset: Int, length: Int): String /** * Concatenates characters in this [CharArray] into a String. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun CharArray.concatToString(): String /** @@ -105,15 +105,15 @@ public expect fun CharArray.concatToString(): String * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the size of this array. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun CharArray.concatToString(startIndex: Int = 0, endIndex: Int = this.size): String /** * Returns a [CharArray] containing characters of this string. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.toCharArray(): CharArray /** @@ -125,8 +125,8 @@ public expect fun String.toCharArray(): CharArray * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the length of this string. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.length): CharArray /** @@ -134,8 +134,8 @@ public expect fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.l * * Malformed byte sequences are replaced by the replacement char `\uFFFD`. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun ByteArray.decodeToString(): String /** @@ -149,8 +149,8 @@ public expect fun ByteArray.decodeToString(): String * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if the byte array contains malformed UTF-8 byte sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun ByteArray.decodeToString( startIndex: Int = 0, endIndex: Int = this.size, @@ -162,8 +162,8 @@ public expect fun ByteArray.decodeToString( * * Any malformed char sequence is replaced by the replacement byte sequence. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.encodeToByteArray(): ByteArray /** @@ -177,8 +177,8 @@ public expect fun String.encodeToByteArray(): ByteArray * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if this string contains malformed char sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.encodeToByteArray( startIndex: Int = 0, endIndex: Int = this.length, diff --git a/libraries/stdlib/js/src/kotlin/text/CharacterCodingExceptionJs.kt b/libraries/stdlib/js/src/kotlin/text/CharacterCodingExceptionJs.kt index d8d48b7744e..d10c66ee535 100644 --- a/libraries/stdlib/js/src/kotlin/text/CharacterCodingExceptionJs.kt +++ b/libraries/stdlib/js/src/kotlin/text/CharacterCodingExceptionJs.kt @@ -8,8 +8,8 @@ package kotlin.text /** * The exception thrown when a character encoding or decoding error occurs. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual open class CharacterCodingException(message: String?) : Exception(message) { actual constructor() : this(null) } diff --git a/libraries/stdlib/js/src/kotlin/text/string.kt b/libraries/stdlib/js/src/kotlin/text/string.kt index 310c7786493..78bcc0ddd88 100644 --- a/libraries/stdlib/js/src/kotlin/text/string.kt +++ b/libraries/stdlib/js/src/kotlin/text/string.kt @@ -39,8 +39,8 @@ public actual fun String(chars: CharArray, offset: Int, length: Int): String { /** * Concatenates characters in this [CharArray] into a String. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun CharArray.concatToString(): String { var result = "" for (char in this) { @@ -58,9 +58,9 @@ public actual fun CharArray.concatToString(): String { * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the size of this array. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun CharArray.concatToString(startIndex: Int = 0, endIndex: Int = this.size): String { AbstractList.checkBoundsIndexes(startIndex, endIndex, this.size) var result = "" @@ -73,8 +73,8 @@ public actual fun CharArray.concatToString(startIndex: Int = 0, endIndex: Int = /** * Returns a [CharArray] containing characters of this string. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun String.toCharArray(): CharArray { return CharArray(length) { get(it) } } @@ -88,9 +88,9 @@ public actual fun String.toCharArray(): CharArray { * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the length of this string. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.length): CharArray { AbstractList.checkBoundsIndexes(startIndex, endIndex, length) return CharArray(endIndex - startIndex) { get(startIndex + it) } @@ -101,8 +101,8 @@ public actual fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.l * * Malformed byte sequences are replaced by the replacement char `\uFFFD`. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun ByteArray.decodeToString(): String { return decodeUtf8(this, 0, size, false) } @@ -118,9 +118,9 @@ public actual fun ByteArray.decodeToString(): String { * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if the byte array contains malformed UTF-8 byte sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun ByteArray.decodeToString( startIndex: Int = 0, endIndex: Int = this.size, @@ -135,8 +135,8 @@ public actual fun ByteArray.decodeToString( * * Any malformed char sequence is replaced by the replacement byte sequence. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun String.encodeToByteArray(): ByteArray { return encodeUtf8(this, 0, length, false) } @@ -152,9 +152,9 @@ public actual fun String.encodeToByteArray(): ByteArray { * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if this string contains malformed char sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun String.encodeToByteArray( startIndex: Int = 0, endIndex: Int = this.length, diff --git a/libraries/stdlib/jvm/runtime/kotlin/text/TypeAliases.kt b/libraries/stdlib/jvm/runtime/kotlin/text/TypeAliases.kt index f01ea47f4a5..936564a352f 100644 --- a/libraries/stdlib/jvm/runtime/kotlin/text/TypeAliases.kt +++ b/libraries/stdlib/jvm/runtime/kotlin/text/TypeAliases.kt @@ -15,6 +15,6 @@ package kotlin.text /** * The exception thrown when a character encoding or decoding error occurs. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual typealias CharacterCodingException = java.nio.charset.CharacterCodingException \ No newline at end of file diff --git a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt index 668fdf16069..a4d4acdb0a5 100644 --- a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt @@ -114,8 +114,8 @@ public actual inline fun String.toLowerCase(): String = (this as java.lang.Strin /** * Concatenates characters in this [CharArray] into a String. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun CharArray.concatToString(): String { return String(this) } @@ -129,9 +129,9 @@ public actual fun CharArray.concatToString(): String { * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the size of this array. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun CharArray.concatToString(startIndex: Int = 0, endIndex: Int = this.size): String { AbstractList.checkBoundsIndexes(startIndex, endIndex, this.size) return String(this, startIndex, endIndex - startIndex) @@ -146,9 +146,9 @@ public actual fun CharArray.concatToString(startIndex: Int = 0, endIndex: Int = * @throws IndexOutOfBoundsException if [startIndex] is less than zero or [endIndex] is greater than the length of this string. * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.length): CharArray { AbstractList.checkBoundsIndexes(startIndex, endIndex, length) return toCharArray(CharArray(endIndex - startIndex), 0, startIndex, endIndex) @@ -159,8 +159,8 @@ public actual fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.l * * Malformed byte sequences are replaced by the replacement char `\uFFFD`. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun ByteArray.decodeToString(): String { return String(this) } @@ -176,9 +176,9 @@ public actual fun ByteArray.decodeToString(): String { * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if the byte array contains malformed UTF-8 byte sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun ByteArray.decodeToString( startIndex: Int = 0, endIndex: Int = this.size, @@ -202,8 +202,8 @@ public actual fun ByteArray.decodeToString( * * Any malformed char sequence is replaced by the replacement byte sequence. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun String.encodeToByteArray(): ByteArray { return this.toByteArray(Charsets.UTF_8) } @@ -219,9 +219,9 @@ public actual fun String.encodeToByteArray(): ByteArray { * @throws IllegalArgumentException if [startIndex] is greater than [endIndex]. * @throws CharacterCodingException if this string contains malformed char sequence and [throwOnInvalidSequence] is true. */ -@SinceKotlin("1.3") +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) @Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") -@ExperimentalStdlibApi public actual fun String.encodeToByteArray( startIndex: Int = 0, endIndex: Int = this.length, diff --git a/libraries/stdlib/src/kotlin/text/CharacterCodingException.kt b/libraries/stdlib/src/kotlin/text/CharacterCodingException.kt index 5f7076a8870..6db0995d13c 100644 --- a/libraries/stdlib/src/kotlin/text/CharacterCodingException.kt +++ b/libraries/stdlib/src/kotlin/text/CharacterCodingException.kt @@ -8,6 +8,6 @@ package kotlin.text /** * The exception thrown when a character encoding or decoding error occurs. */ -@SinceKotlin("1.3") -@ExperimentalStdlibApi +@SinceKotlin("1.4") +@WasExperimental(ExperimentalStdlibApi::class) public expect open class CharacterCodingException() : Exception \ No newline at end of file