From 35ae913a5e96ad96e9e1315a3dfbcd620edaab02 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Sat, 3 Apr 2021 00:32:20 +0300 Subject: [PATCH] Stabilize new string and char case conversion API KT-45873 --- .../src/main/kotlin/kotlin/text/Char.kt | 20 +++++------ .../src/main/kotlin/kotlin/text/Strings.kt | 15 ++++---- libraries/stdlib/api/js-v1/kotlin.text.kt | 34 +++++++++---------- libraries/stdlib/api/js/kotlin.text.kt | 34 +++++++++---------- libraries/stdlib/js/src/kotlin/text/char.kt | 25 +++++++------- libraries/stdlib/js/src/kotlin/text/string.kt | 10 +++--- .../stdlib/jvm/src/kotlin/text/CharJVM.kt | 34 +++++++++---------- .../stdlib/jvm/src/kotlin/text/StringsJVM.kt | 18 +++++----- libraries/stdlib/src/kotlin/text/Char.kt | 19 +++++------ libraries/stdlib/src/kotlin/text/Strings.kt | 18 +++++----- libraries/stdlib/wasm/src/kotlin/Text.kt | 21 ++++-------- 11 files changed, 115 insertions(+), 133 deletions(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Char.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Char.kt index c24ee95e51d..adf06662a9e 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Char.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Char.kt @@ -1,6 +1,6 @@ /* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. + * 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. */ package kotlin.text @@ -161,8 +161,8 @@ public actual fun Char.toUpperCase(): Char = uppercaseCharImpl() * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun Char.uppercaseChar(): Char = uppercaseCharImpl() /** @@ -175,8 +175,8 @@ public actual fun Char.uppercaseChar(): Char = uppercaseCharImpl() * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun Char.uppercase(): String = uppercaseImpl() /** @@ -193,8 +193,8 @@ public actual fun Char.toLowerCase(): Char = lowercaseCharImpl() * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun Char.lowercaseChar(): Char = lowercaseCharImpl() /** @@ -207,8 +207,8 @@ public actual fun Char.lowercaseChar(): Char = lowercaseCharImpl() * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun Char.lowercase(): String = lowercaseImpl() /** diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt index 8f69adf4e19..557daa59c70 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt @@ -1,6 +1,6 @@ /* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. + * 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. */ package kotlin.text @@ -62,7 +62,6 @@ public actual fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boole @SymbolName("Kotlin_String_replace") private external fun String.replace(oldChar: Char, newChar: Char): String -@OptIn(ExperimentalStdlibApi::class) private fun String.replaceIgnoreCase(oldChar: Char, newChar: Char): String { val charArray = CharArray(length) val oldCharLower = oldChar.lowercaseChar() @@ -185,7 +184,6 @@ public fun String.regionMatches( private external fun String.unsafeRangeEquals(thisOffset: Int, other: String, otherOffset: Int, length: Int): Boolean // Bounds must be checked before calling this method -@OptIn(ExperimentalStdlibApi::class) private fun String.unsafeRangeEqualsIgnoreCase(thisOffset: Int, other: String, otherOffset: Int, length: Int): Boolean { for (index in 0 until length) { val thisCharLower = this[thisOffset + index].lowercaseChar() @@ -210,8 +208,8 @@ public actual fun String.toUpperCase(): String = uppercaseImpl() * * @sample samples.text.Strings.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun String.uppercase(): String = uppercaseImpl() /** @@ -227,8 +225,8 @@ public actual fun String.toLowerCase(): String = lowercaseImpl() * * @sample samples.text.Strings.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun String.lowercase(): String = lowercaseImpl() /** @@ -401,7 +399,6 @@ public actual fun String.encodeToByteArray(startIndex: Int, endIndex: Int, throw unsafeStringToUtf8(startIndex, endIndex - startIndex) } -@OptIn(ExperimentalStdlibApi::class) internal fun compareToIgnoreCase(thiz: String, other: String): Int { val length = minOf(thiz.length, other.length) diff --git a/libraries/stdlib/api/js-v1/kotlin.text.kt b/libraries/stdlib/api/js-v1/kotlin.text.kt index f8e06a72728..b6f7b2776a8 100644 --- a/libraries/stdlib/api/js-v1/kotlin.text.kt +++ b/libraries/stdlib/api/js-v1/kotlin.text.kt @@ -447,18 +447,18 @@ public fun kotlin.CharSequence.lineSequence(): kotlin.sequences.Sequence -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.lowercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.String.lowercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.lowercaseChar(): kotlin.Char @@ -739,15 +739,15 @@ public fun kotlin.String.replaceFirst(oldChar: kotlin.Char, newChar: kotlin.Char public fun kotlin.String.replaceFirst(oldValue: kotlin.String, newValue: kotlin.String, ignoreCase: kotlin.Boolean = ...): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.OverloadResolutionByLambdaReturnType @kotlin.jvm.JvmName(name = "replaceFirstCharWithChar") @kotlin.internal.InlineOnly public inline fun kotlin.String.replaceFirstChar(transform: (kotlin.Char) -> kotlin.Char): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.OverloadResolutionByLambdaReturnType @kotlin.jvm.JvmName(name = "replaceFirstCharWithCharSequence") @kotlin.internal.InlineOnly @@ -936,11 +936,9 @@ public inline fun kotlin.CharSequence.takeWhile(predicate: (kotlin.Char) -> kotl public inline fun kotlin.String.takeWhile(predicate: (kotlin.Char) -> kotlin.Boolean): kotlin.String @kotlin.SinceKotlin(version = "1.5") -@kotlin.ExperimentalStdlibApi public fun kotlin.Char.titlecase(): kotlin.String @kotlin.SinceKotlin(version = "1.5") -@kotlin.ExperimentalStdlibApi public fun kotlin.Char.titlecaseChar(): kotlin.Char @kotlin.Deprecated(message = "Use Kotlin compiler 1.4 to avoid deprecation warning.") @@ -1187,18 +1185,18 @@ public inline fun kotlin.String.trimStart(predicate: (kotlin.Char) -> kotlin.Boo public fun kotlin.String.trimStart(vararg chars: kotlin.Char): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.uppercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.String.uppercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) public fun kotlin.Char.uppercaseChar(): kotlin.Char @kotlin.SinceKotlin(version = "1.2") diff --git a/libraries/stdlib/api/js/kotlin.text.kt b/libraries/stdlib/api/js/kotlin.text.kt index f8e06a72728..b6f7b2776a8 100644 --- a/libraries/stdlib/api/js/kotlin.text.kt +++ b/libraries/stdlib/api/js/kotlin.text.kt @@ -447,18 +447,18 @@ public fun kotlin.CharSequence.lineSequence(): kotlin.sequences.Sequence -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.lowercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.String.lowercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.lowercaseChar(): kotlin.Char @@ -739,15 +739,15 @@ public fun kotlin.String.replaceFirst(oldChar: kotlin.Char, newChar: kotlin.Char public fun kotlin.String.replaceFirst(oldValue: kotlin.String, newValue: kotlin.String, ignoreCase: kotlin.Boolean = ...): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.OverloadResolutionByLambdaReturnType @kotlin.jvm.JvmName(name = "replaceFirstCharWithChar") @kotlin.internal.InlineOnly public inline fun kotlin.String.replaceFirstChar(transform: (kotlin.Char) -> kotlin.Char): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.OverloadResolutionByLambdaReturnType @kotlin.jvm.JvmName(name = "replaceFirstCharWithCharSequence") @kotlin.internal.InlineOnly @@ -936,11 +936,9 @@ public inline fun kotlin.CharSequence.takeWhile(predicate: (kotlin.Char) -> kotl public inline fun kotlin.String.takeWhile(predicate: (kotlin.Char) -> kotlin.Boolean): kotlin.String @kotlin.SinceKotlin(version = "1.5") -@kotlin.ExperimentalStdlibApi public fun kotlin.Char.titlecase(): kotlin.String @kotlin.SinceKotlin(version = "1.5") -@kotlin.ExperimentalStdlibApi public fun kotlin.Char.titlecaseChar(): kotlin.Char @kotlin.Deprecated(message = "Use Kotlin compiler 1.4 to avoid deprecation warning.") @@ -1187,18 +1185,18 @@ public inline fun kotlin.String.trimStart(predicate: (kotlin.Char) -> kotlin.Boo public fun kotlin.String.trimStart(vararg chars: kotlin.Char): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.Char.uppercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun kotlin.String.uppercase(): kotlin.String -@kotlin.SinceKotlin(version = "1.4") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "1.5") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) public fun kotlin.Char.uppercaseChar(): kotlin.Char @kotlin.SinceKotlin(version = "1.2") diff --git a/libraries/stdlib/js/src/kotlin/text/char.kt b/libraries/stdlib/js/src/kotlin/text/char.kt index e7c0daae3c1..3bcdd262aab 100644 --- a/libraries/stdlib/js/src/kotlin/text/char.kt +++ b/libraries/stdlib/js/src/kotlin/text/char.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. */ @@ -21,10 +21,10 @@ public actual inline fun Char.toLowerCase(): Char = lowercaseChar() * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly -public actual inline fun Char.lowercaseChar(): Char = toString().asDynamic().toLowerCase().charCodeAt(0).unsafeCast().toChar() +public actual inline fun Char.lowercaseChar(): Char = lowercase()[0] /** * Converts this character to lower case using Unicode mapping rules of the invariant locale. @@ -36,10 +36,10 @@ public actual inline fun Char.lowercaseChar(): Char = toString().asDynamic().toL * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly -public actual inline fun Char.lowercase(): String = toString().asDynamic().toLowerCase() as String +public actual inline fun Char.lowercase(): String = toString().asDynamic().toLowerCase().unsafeCast() /** * Converts this character to upper case using Unicode mapping rules of the invariant locale. @@ -57,8 +57,8 @@ public actual inline fun Char.toUpperCase(): Char = uppercaseChar() * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public actual fun Char.uppercaseChar(): Char { val uppercase = uppercase() return if (uppercase.length > 1) this else uppercase[0] @@ -74,10 +74,10 @@ public actual fun Char.uppercaseChar(): Char { * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly -public actual inline fun Char.uppercase(): String = toString().asDynamic().toUpperCase() as String +public actual inline fun Char.uppercase(): String = toString().asDynamic().toUpperCase().unsafeCast() /** * Converts this character to title case using Unicode mapping rules of the invariant locale. @@ -89,7 +89,6 @@ public actual inline fun Char.uppercase(): String = toString().asDynamic().toUpp * @sample samples.text.Chars.titlecase */ @SinceKotlin("1.5") -@ExperimentalStdlibApi public actual fun Char.titlecaseChar(): Char = titlecaseCharImpl() /** diff --git a/libraries/stdlib/js/src/kotlin/text/string.kt b/libraries/stdlib/js/src/kotlin/text/string.kt index a9d0b63ea8e..66c7e099770 100644 --- a/libraries/stdlib/js/src/kotlin/text/string.kt +++ b/libraries/stdlib/js/src/kotlin/text/string.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. */ @@ -180,8 +180,8 @@ public actual inline fun String.toUpperCase(): String = asDynamic().toUpperCase( * * @sample samples.text.Strings.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun String.uppercase(): String = asDynamic().toUpperCase() @@ -199,8 +199,8 @@ public actual inline fun String.toLowerCase(): String = asDynamic().toLowerCase( * * @sample samples.text.Strings.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun String.lowercase(): String = asDynamic().toLowerCase() diff --git a/libraries/stdlib/jvm/src/kotlin/text/CharJVM.kt b/libraries/stdlib/jvm/src/kotlin/text/CharJVM.kt index 98cfbefd36d..3a206fdbff2 100644 --- a/libraries/stdlib/jvm/src/kotlin/text/CharJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/text/CharJVM.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. */ @@ -126,8 +126,8 @@ public actual inline fun Char.toUpperCase(): Char = uppercaseChar() * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun Char.uppercaseChar(): Char = Character.toUpperCase(this) @@ -141,8 +141,8 @@ public actual inline fun Char.uppercaseChar(): Char = Character.toUpperCase(this * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun Char.uppercase(): String = toString().uppercase() @@ -156,8 +156,8 @@ public actual inline fun Char.uppercase(): String = toString().uppercase() * * @sample samples.text.Chars.uppercaseLocale */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public fun Char.uppercase(locale: Locale): String = toString().uppercase(locale) /** @@ -176,8 +176,8 @@ public actual inline fun Char.toLowerCase(): Char = lowercaseChar() * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun Char.lowercaseChar(): Char = Character.toLowerCase(this) @@ -191,8 +191,8 @@ public actual inline fun Char.lowercaseChar(): Char = Character.toLowerCase(this * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun Char.lowercase(): String = toString().lowercase() @@ -206,8 +206,8 @@ public actual inline fun Char.lowercase(): String = toString().lowercase() * * @sample samples.text.Chars.lowercaseLocale */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public fun Char.lowercase(locale: Locale): String = toString().lowercase(locale) /** @@ -235,8 +235,8 @@ public inline fun Char.toTitleCase(): Char = titlecaseChar() * * @sample samples.text.Chars.titlecase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun Char.titlecaseChar(): Char = Character.toTitleCase(this) @@ -250,8 +250,8 @@ public actual inline fun Char.titlecaseChar(): Char = Character.toTitleCase(this * * @sample samples.text.Chars.titlecaseLocale */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public fun Char.titlecase(locale: Locale): String { val localizedUppercase = uppercase(locale) if (localizedUppercase.length > 1) { diff --git a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt index 2e4c0faaaf0..b7ab764e11b 100644 --- a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2020 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. */ @@ -132,8 +132,8 @@ public actual inline fun String.toUpperCase(): String = (this as java.lang.Strin * * @sample samples.text.Strings.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun String.uppercase(): String = (this as java.lang.String).toUpperCase(Locale.ROOT) @@ -151,8 +151,8 @@ public actual inline fun String.toLowerCase(): String = (this as java.lang.Strin * * @sample samples.text.Strings.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun String.lowercase(): String = (this as java.lang.String).toLowerCase(Locale.ROOT) @@ -657,8 +657,8 @@ public inline fun String.toLowerCase(locale: java.util.Locale): String = lowerca * * @sample samples.text.Strings.lowercaseLocale */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public inline fun String.lowercase(locale: Locale): String = (this as java.lang.String).toLowerCase(locale) @@ -677,8 +677,8 @@ public inline fun String.toUpperCase(locale: java.util.Locale): String = upperca * * @sample samples.text.Strings.uppercaseLocale */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public inline fun String.uppercase(locale: Locale): String = (this as java.lang.String).toUpperCase(locale) diff --git a/libraries/stdlib/src/kotlin/text/Char.kt b/libraries/stdlib/src/kotlin/text/Char.kt index beedd544072..7d230e97bf6 100644 --- a/libraries/stdlib/src/kotlin/text/Char.kt +++ b/libraries/stdlib/src/kotlin/text/Char.kt @@ -131,8 +131,8 @@ public expect fun Char.toLowerCase(): Char * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun Char.lowercaseChar(): Char /** @@ -145,8 +145,8 @@ public expect fun Char.lowercaseChar(): Char * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun Char.lowercase(): String /** @@ -163,8 +163,8 @@ public expect fun Char.toUpperCase(): Char * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun Char.uppercaseChar(): Char /** @@ -177,8 +177,8 @@ public expect fun Char.uppercaseChar(): Char * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun Char.uppercase(): String /** @@ -191,7 +191,6 @@ public expect fun Char.uppercase(): String * @sample samples.text.Chars.titlecase */ @SinceKotlin("1.5") -@ExperimentalStdlibApi public expect fun Char.titlecaseChar(): Char /** @@ -205,7 +204,6 @@ public expect fun Char.titlecaseChar(): Char * @sample samples.text.Chars.titlecase */ @SinceKotlin("1.5") -@ExperimentalStdlibApi public fun Char.titlecase(): String = titlecaseImpl() /** @@ -228,7 +226,6 @@ public inline operator fun Char.plus(other: String): String = this.toString() + * * @sample samples.text.Chars.equals */ -@OptIn(ExperimentalStdlibApi::class) public fun Char.equals(other: Char, ignoreCase: Boolean = false): Boolean { if (this == other) return true if (!ignoreCase) return false diff --git a/libraries/stdlib/src/kotlin/text/Strings.kt b/libraries/stdlib/src/kotlin/text/Strings.kt index 940532c4d96..c22576378bc 100644 --- a/libraries/stdlib/src/kotlin/text/Strings.kt +++ b/libraries/stdlib/src/kotlin/text/Strings.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. */ @@ -24,8 +24,8 @@ public expect fun String.toUpperCase(): String * * @sample samples.text.Strings.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.uppercase(): String /** @@ -41,8 +41,8 @@ public expect fun String.toLowerCase(): String * * @sample samples.text.Strings.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) public expect fun String.lowercase(): String /** @@ -772,8 +772,8 @@ public inline fun CharSequence.replaceFirst(regex: Regex, replacement: String): * * @sample samples.text.Strings.replaceFirstChar */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @OptIn(kotlin.experimental.ExperimentalTypeInference::class) @OverloadResolutionByLambdaReturnType @JvmName("replaceFirstCharWithChar") @@ -790,8 +790,8 @@ public inline fun String.replaceFirstChar(transform: (Char) -> Char): String { * * @sample samples.text.Strings.replaceFirstChar */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") +@WasExperimental(ExperimentalStdlibApi::class) @OptIn(kotlin.experimental.ExperimentalTypeInference::class) @OverloadResolutionByLambdaReturnType @JvmName("replaceFirstCharWithCharSequence") diff --git a/libraries/stdlib/wasm/src/kotlin/Text.kt b/libraries/stdlib/wasm/src/kotlin/Text.kt index 1363f2cf36a..d44e6d7ede1 100644 --- a/libraries/stdlib/wasm/src/kotlin/Text.kt +++ b/libraries/stdlib/wasm/src/kotlin/Text.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2020 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. */ @@ -80,8 +80,7 @@ public actual fun Char.toLowerCase(): Char = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun Char.lowercaseChar(): Char = TODO("Wasm stdlib: Text") /** @@ -94,8 +93,7 @@ public actual fun Char.lowercaseChar(): Char = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun Char.lowercase(): String = TODO("Wasm stdlib: Text") /** @@ -112,8 +110,7 @@ public actual fun Char.toUpperCase(): Char = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun Char.uppercaseChar(): Char = TODO("Wasm stdlib: Text") /** @@ -126,8 +123,7 @@ public actual fun Char.uppercaseChar(): Char = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun Char.uppercase(): String = TODO("Wasm stdlib: Text") /** @@ -140,7 +136,6 @@ public actual fun Char.uppercase(): String = TODO("Wasm stdlib: Text") * @sample samples.text.Chars.titlecase */ @SinceKotlin("1.5") -@ExperimentalStdlibApi public actual fun Char.titlecaseChar(): Char = TODO("Wasm stdlib: Text") @@ -373,8 +368,7 @@ public actual fun String.toUpperCase(): String = TODO("Wasm stdlib: Text") * * @sample samples.text.Strings.uppercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun String.uppercase(): String = TODO("Wasm stdlib: Text") /** @@ -390,8 +384,7 @@ public actual fun String.toLowerCase(): String = TODO("Wasm stdlib: Text") * * @sample samples.text.Strings.lowercase */ -@SinceKotlin("1.4") -@ExperimentalStdlibApi +@SinceKotlin("1.5") public actual fun String.lowercase(): String = TODO("Wasm stdlib: Text") public actual fun String.capitalize(): String = TODO("Wasm stdlib: Text")