From d28d0a6321bef1f89362c1cc26848bc44e7985e3 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Fri, 26 Mar 2021 00:00:06 +0300 Subject: [PATCH] Advance String(CharArray) deprecation level to ERROR in Common and JS --- .../adaptedReferences/inlineDefault.kt | 2 +- .../adaptedReferences/inlineVararg.kt | 2 +- .../adaptedReferences/inlineDefault.kt | 2 +- libraries/stdlib/api/js-v1/kotlin.text.kt | 2 ++ libraries/stdlib/api/js/kotlin.text.kt | 2 ++ libraries/stdlib/common/src/kotlin/TextH.kt | 2 ++ libraries/stdlib/js/src/kotlin/text/string.kt | 2 ++ libraries/stdlib/test/text/StringTest.kt | 10 +++++----- 8 files changed, 16 insertions(+), 8 deletions(-) diff --git a/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineDefault.kt b/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineDefault.kt index e613d7366e4..1467b185a3b 100644 --- a/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineDefault.kt +++ b/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineDefault.kt @@ -8,6 +8,6 @@ inline fun foo(mkString: () -> String): String = mkString() fun bar (xs: CharArray = charArrayOf('O','K')) = - String(xs) + xs.concatToString() fun box(): String = foo(::bar) diff --git a/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineVararg.kt b/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineVararg.kt index 4f9bf64c01e..a5614a0e0a7 100644 --- a/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineVararg.kt +++ b/compiler/testData/codegen/box/callableReference/adaptedReferences/inlineVararg.kt @@ -8,7 +8,7 @@ inline fun foo(mkString: (Char, Char) -> String): String = mkString('O','K') fun bar (vararg xs: Char) = - String(xs) + xs.concatToString() fun box(): String = foo(::bar) // -> { a, b -> bar(a, b) } \ No newline at end of file diff --git a/compiler/testData/codegen/boxInline/callableReference/adaptedReferences/inlineDefault.kt b/compiler/testData/codegen/boxInline/callableReference/adaptedReferences/inlineDefault.kt index bd8f565ec9a..0c26c086f17 100644 --- a/compiler/testData/codegen/boxInline/callableReference/adaptedReferences/inlineDefault.kt +++ b/compiler/testData/codegen/boxInline/callableReference/adaptedReferences/inlineDefault.kt @@ -11,7 +11,7 @@ inline fun foo(mkString: () -> String): String = mkString() inline fun bar (xs: CharArray = charArrayOf('O','K')) = - String(xs) + xs.concatToString() // FILE: 2.kt import test.* diff --git a/libraries/stdlib/api/js-v1/kotlin.text.kt b/libraries/stdlib/api/js-v1/kotlin.text.kt index 6f6b0032dd9..a9234d26dab 100644 --- a/libraries/stdlib/api/js-v1/kotlin.text.kt +++ b/libraries/stdlib/api/js-v1/kotlin.text.kt @@ -18,10 +18,12 @@ public fun Regex_1(pattern: kotlin.String): kotlin.text.Regex @kotlin.SinceKotlin(version = "1.2") @kotlin.Deprecated(message = "Use CharArray.concatToString() instead", replaceWith = kotlin.ReplaceWith(expression = "chars.concatToString()", imports = {})) +@kotlin.DeprecatedSinceKotlin(errorSince = "1.5", warningSince = "1.4") public fun String(chars: kotlin.CharArray): kotlin.String @kotlin.SinceKotlin(version = "1.2") @kotlin.Deprecated(message = "Use CharArray.concatToString(startIndex, endIndex) instead", replaceWith = kotlin.ReplaceWith(expression = "chars.concatToString(offset, offset + length)", imports = {})) +@kotlin.DeprecatedSinceKotlin(errorSince = "1.5", warningSince = "1.4") public fun String(chars: kotlin.CharArray, offset: kotlin.Int, length: kotlin.Int): kotlin.String @kotlin.SinceKotlin(version = "1.1") diff --git a/libraries/stdlib/api/js/kotlin.text.kt b/libraries/stdlib/api/js/kotlin.text.kt index 6f6b0032dd9..a9234d26dab 100644 --- a/libraries/stdlib/api/js/kotlin.text.kt +++ b/libraries/stdlib/api/js/kotlin.text.kt @@ -18,10 +18,12 @@ public fun Regex_1(pattern: kotlin.String): kotlin.text.Regex @kotlin.SinceKotlin(version = "1.2") @kotlin.Deprecated(message = "Use CharArray.concatToString() instead", replaceWith = kotlin.ReplaceWith(expression = "chars.concatToString()", imports = {})) +@kotlin.DeprecatedSinceKotlin(errorSince = "1.5", warningSince = "1.4") public fun String(chars: kotlin.CharArray): kotlin.String @kotlin.SinceKotlin(version = "1.2") @kotlin.Deprecated(message = "Use CharArray.concatToString(startIndex, endIndex) instead", replaceWith = kotlin.ReplaceWith(expression = "chars.concatToString(offset, offset + length)", imports = {})) +@kotlin.DeprecatedSinceKotlin(errorSince = "1.5", warningSince = "1.4") public fun String(chars: kotlin.CharArray, offset: kotlin.Int, length: kotlin.Int): kotlin.String @kotlin.SinceKotlin(version = "1.1") diff --git a/libraries/stdlib/common/src/kotlin/TextH.kt b/libraries/stdlib/common/src/kotlin/TextH.kt index 2f2f8e08212..f508c32850c 100644 --- a/libraries/stdlib/common/src/kotlin/TextH.kt +++ b/libraries/stdlib/common/src/kotlin/TextH.kt @@ -74,6 +74,7 @@ expect fun Char.isLowSurrogate(): Boolean */ @SinceKotlin("1.2") @Deprecated("Use CharArray.concatToString() instead", ReplaceWith("chars.concatToString()")) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.5") public expect fun String(chars: CharArray): String /** @@ -84,6 +85,7 @@ public expect fun String(chars: CharArray): String */ @SinceKotlin("1.2") @Deprecated("Use CharArray.concatToString(startIndex, endIndex) instead", ReplaceWith("chars.concatToString(offset, offset + length)")) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.5") public expect fun String(chars: CharArray, offset: Int, length: Int): String /** diff --git a/libraries/stdlib/js/src/kotlin/text/string.kt b/libraries/stdlib/js/src/kotlin/text/string.kt index 66c7e099770..6aa130913dd 100644 --- a/libraries/stdlib/js/src/kotlin/text/string.kt +++ b/libraries/stdlib/js/src/kotlin/text/string.kt @@ -12,6 +12,7 @@ import kotlin.js.RegExp */ @SinceKotlin("1.2") @Deprecated("Use CharArray.concatToString() instead", ReplaceWith("chars.concatToString()")) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.5") public actual fun String(chars: CharArray): String { var result = "" for (char in chars) { @@ -28,6 +29,7 @@ public actual fun String(chars: CharArray): String { */ @SinceKotlin("1.2") @Deprecated("Use CharArray.concatToString(startIndex, endIndex) instead", ReplaceWith("chars.concatToString(offset, offset + length)")) +@DeprecatedSinceKotlin(warningSince = "1.4", errorSince = "1.5") public actual fun String(chars: CharArray, offset: Int, length: Int): String { if (offset < 0 || length < 0 || chars.size - offset < length) throw IndexOutOfBoundsException("size: ${chars.size}; offset: $offset; length: $length") diff --git a/libraries/stdlib/test/text/StringTest.kt b/libraries/stdlib/test/text/StringTest.kt index 21b31deca84..3b96b99b1f1 100644 --- a/libraries/stdlib/test/text/StringTest.kt +++ b/libraries/stdlib/test/text/StringTest.kt @@ -47,13 +47,13 @@ fun Char.isAsciiUpperCase() = this in 'A'..'Z' class StringTest { - @Suppress("DEPRECATION") + @Suppress("DEPRECATION_ERROR") private fun testStringFromChars(expected: String, chars: CharArray, offset: Int, length: Int) { assertEquals(expected, String(chars, offset, length)) assertEquals(expected, chars.concatToString(startIndex = offset, endIndex = offset + length)) } - @Suppress("DEPRECATION") + @Suppress("DEPRECATION_ERROR") private fun testStringFromChars(expected: String, chars: CharArray) { assertEquals(expected, String(chars)) assertEquals(expected, chars.concatToString()) @@ -64,7 +64,7 @@ class StringTest { testStringFromChars("Kotlin", chars, 0, chars.size) } - @Suppress("DEPRECATION") + @Suppress("DEPRECATION_ERROR") @Test fun stringFromCharArraySlice() { val chars: CharArray = charArrayOf('K', 'o', 't', 'l', 'i', 'n', ' ', 'r', 'u', 'l', 'e', 's') testStringFromChars("rule", chars, 7, 4) @@ -78,7 +78,7 @@ class StringTest { assertTrue(longConcatString.all { it == 'k' }) } - @Suppress("DEPRECATION") + @Suppress("DEPRECATION_ERROR") @Test fun stringFromCharArray() { val chars: CharArray = charArrayOf('K', 'o', 't', 'l', 'i', 'n') testStringFromChars("Kotlin", chars) @@ -99,7 +99,7 @@ class StringTest { testStringFromChars("Ŭᎍ🀺", chars, 3, 4) } - @Suppress("DEPRECATION") + @Suppress("DEPRECATION_ERROR") @Test fun stringFromCharArrayOutOfBounds() { fun test(chars: CharArray) { assertFailsWith { String(chars, -1, 1) }