From 85a02d40c659a7583b45e57c46a818a9f3044243 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 14 Jan 2016 23:16:12 +0300 Subject: [PATCH] Drop hidden declarations provided for binary compatibility --- .../gotoSymbol/stdLibJoinToString.kt | 11 - libraries/stdlib/src/generated/_Arrays.kt | 135 ---- .../stdlib/src/generated/_Collections.kt | 15 - libraries/stdlib/src/generated/_Sequences.kt | 15 - libraries/stdlib/src/generated/_Strings.kt | 673 ------------------ .../stdlib/src/kotlin/TestAssertionsJVM.kt | 8 - .../stdlib/src/kotlin/collections/Arrays.kt | 21 - .../src/kotlin/collections/ArraysJVM.kt | 56 -- .../stdlib/src/kotlin/collections/MapsJVM.kt | 4 - .../kotlin/collections/MutableCollections.kt | 61 -- libraries/stdlib/src/kotlin/math/JMath.kt | 74 -- .../src/kotlin/properties/MapAccessors.kt | 39 - libraries/stdlib/src/kotlin/text/Char.kt | 42 -- .../src/kotlin/text/StringsDeprecated.kt | 578 --------------- .../src/kotlin/text/StringsDeprecatedJVM.kt | 182 ----- libraries/stdlib/src/kotlin/util/JLangJVM.kt | 7 - libraries/stdlib/test/MathTest.kt | 1 - .../src/templates/Aggregates.kt | 57 +- .../src/templates/Elements.kt | 69 +- .../src/templates/Filtering.kt | 6 +- .../src/templates/Generators.kt | 16 +- .../src/templates/Mapping.kt | 27 +- .../src/templates/Sequence.kt | 3 +- .../src/templates/Snapshots.kt | 34 +- .../src/templates/Strings.kt | 21 - 25 files changed, 63 insertions(+), 2092 deletions(-) delete mode 100644 libraries/stdlib/src/kotlin/TestAssertionsJVM.kt delete mode 100644 libraries/stdlib/src/kotlin/math/JMath.kt delete mode 100644 libraries/stdlib/src/kotlin/properties/MapAccessors.kt delete mode 100644 libraries/stdlib/src/kotlin/text/StringsDeprecated.kt delete mode 100644 libraries/stdlib/src/kotlin/text/StringsDeprecatedJVM.kt diff --git a/idea/testData/navigation/gotoSymbol/stdLibJoinToString.kt b/idea/testData/navigation/gotoSymbol/stdLibJoinToString.kt index 79300255829..a2edd901844 100644 --- a/idea/testData/navigation/gotoSymbol/stdLibJoinToString.kt +++ b/idea/testData/navigation/gotoSymbol/stdLibJoinToString.kt @@ -2,24 +2,13 @@ // CHECK_BOX // SEARCH_TEXT: joinToString // REF: (for Array in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((T) -> CharSequence)?) -// REF: (for Array in kotlin.collections).joinToString(String, String, String, Int, String, ((T) -> String)?) // REF: (for BooleanArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Boolean) -> CharSequence)?) -// REF: (for BooleanArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Boolean) -> String)?) // REF: (for ByteArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Byte) -> CharSequence)?) -// REF: (for ByteArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Byte) -> String)?) // REF: (for CharArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Char) -> CharSequence)?) -// REF: (for CharArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Char) -> String)?) // REF: (for DoubleArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Double) -> CharSequence)?) -// REF: (for DoubleArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Double) -> String)?) // REF: (for FloatArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Float) -> CharSequence)?) -// REF: (for FloatArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Float) -> String)?) // REF: (for IntArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Int) -> CharSequence)?) -// REF: (for IntArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Int) -> String)?) // REF: (for Iterable in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((T) -> CharSequence)?) -// REF: (for Iterable in kotlin.collections).joinToString(String, String, String, Int, String, ((T) -> String)?) // REF: (for LongArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Long) -> CharSequence)?) -// REF: (for LongArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Long) -> String)?) // REF: (for Sequence in kotlin.sequences).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((T) -> CharSequence)?) -// REF: (for Sequence in kotlin.sequences).joinToString(String, String, String, Int, String, ((T) -> String)?) // REF: (for ShortArray in kotlin.collections).joinToString(CharSequence, CharSequence, CharSequence, Int, CharSequence, ((Short) -> CharSequence)?) -// REF: (for ShortArray in kotlin.collections).joinToString(String, String, String, Int, String, ((Short) -> String)?) \ No newline at end of file diff --git a/libraries/stdlib/src/generated/_Arrays.kt b/libraries/stdlib/src/generated/_Arrays.kt index d79636e25e9..025bc7d3153 100644 --- a/libraries/stdlib/src/generated/_Arrays.kt +++ b/libraries/stdlib/src/generated/_Arrays.kt @@ -5770,51 +5770,6 @@ public fun ShortArray.toList(): List { return this.toArrayList() } -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun Array.toMap(selector: (T) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun BooleanArray.toMap(selector: (Boolean) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun ByteArray.toMap(selector: (Byte) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun CharArray.toMap(selector: (Char) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun DoubleArray.toMap(selector: (Double) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun FloatArray.toMap(selector: (Float) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun IntArray.toMap(selector: (Int) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun LongArray.toMap(selector: (Long) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun ShortArray.toMap(selector: (Short) -> K): Map { - return toMapBy(selector) -} - /** * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to elements of the given array. * If any two elements would have the same key returned by [selector] the last one gets added to the map. @@ -10613,51 +10568,6 @@ public fun ShortArray.joinTo(buffer: A, separator: CharSequence return buffer } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Array.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun BooleanArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Boolean) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun ByteArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Byte) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun CharArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Char) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun DoubleArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Double) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun FloatArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Float) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun IntArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Int) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun LongArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Long) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun ShortArray.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Short) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - /** * Creates a string from all the elements separated using [separator] and using the given [prefix] and [postfix] if supplied. * If the collection could be huge, you can specify a non-negative value of [limit], in which case only the first [limit] @@ -10739,51 +10649,6 @@ public fun ShortArray.joinToString(separator: CharSequence = ", ", prefix: CharS return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Array.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun BooleanArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Boolean) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun ByteArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Byte) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun CharArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Char) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun DoubleArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Double) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun FloatArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Float) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun IntArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Int) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun LongArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Long) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun ShortArray.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((Short) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - /** * Creates an [Iterable] instance that wraps the original array returning its elements when being iterated. */ diff --git a/libraries/stdlib/src/generated/_Collections.kt b/libraries/stdlib/src/generated/_Collections.kt index a57008d417a..352c867e91b 100644 --- a/libraries/stdlib/src/generated/_Collections.kt +++ b/libraries/stdlib/src/generated/_Collections.kt @@ -1057,11 +1057,6 @@ public fun Iterable.toList(): List { return this.toArrayList() } -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun Iterable.toMap(selector: (T) -> K): Map { - return toMapBy(selector) -} - /** * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to elements of the given collection. * If any two elements would have the same key returned by [selector] the last one gets added to the map. @@ -1787,11 +1782,6 @@ public fun Iterable.joinTo(buffer: A, separator: CharSequ return buffer } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Iterable.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - /** * Creates a string from all the elements separated using [separator] and using the given [prefix] and [postfix] if supplied. * If the collection could be huge, you can specify a non-negative value of [limit], in which case only the first [limit] @@ -1801,11 +1791,6 @@ public fun Iterable.joinToString(separator: CharSequence = ", ", prefix: return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Iterable.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - /** * Returns this collection as an [Iterable]. */ diff --git a/libraries/stdlib/src/generated/_Sequences.kt b/libraries/stdlib/src/generated/_Sequences.kt index add7fa7f37e..5c3b6ebc523 100644 --- a/libraries/stdlib/src/generated/_Sequences.kt +++ b/libraries/stdlib/src/generated/_Sequences.kt @@ -515,11 +515,6 @@ public fun Sequence.toList(): List { return this.toArrayList() } -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun Sequence.toMap(selector: (T) -> K): Map { - return toMapBy(selector) -} - /** * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to elements of the given sequence. * If any two elements would have the same key returned by [selector] the last one gets added to the map. @@ -1099,11 +1094,6 @@ public fun Sequence.joinTo(buffer: A, separator: CharSequ return buffer } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Sequence.joinTo(buffer: A, separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): A { - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) -} - /** * Creates a string from all the elements separated using [separator] and using the given [prefix] and [postfix] if supplied. * If the collection could be huge, you can specify a non-negative value of [limit], in which case only the first [limit] @@ -1113,11 +1103,6 @@ public fun Sequence.joinToString(separator: CharSequence = ", ", prefix: return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun Sequence.joinToString(separator: String = ", ", prefix: String = "", postfix: String = "", limit: Int = -1, truncated: String = "...", transform: ((T) -> String)? = null): String { - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() -} - /** * Creates an [Iterable] instance that wraps the original sequence returning its elements when being iterated. */ diff --git a/libraries/stdlib/src/generated/_Strings.kt b/libraries/stdlib/src/generated/_Strings.kt index f9952c65a88..1fd611841c0 100644 --- a/libraries/stdlib/src/generated/_Strings.kt +++ b/libraries/stdlib/src/generated/_Strings.kt @@ -20,14 +20,6 @@ public fun CharSequence.elementAt(index: Int): Char { return get(index) } -/** - * Returns a character at the given [index] or throws an [IndexOutOfBoundsException] if the [index] is out of bounds of this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.elementAt(index: Int): Char { - return get(index) -} - /** * Returns a character at the given [index] or the result of calling the [defaultValue] function if the [index] is out of bounds of this char sequence. */ @@ -35,14 +27,6 @@ public inline fun CharSequence.elementAtOrElse(index: Int, defaultValue: (Int) - return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) } -/** - * Returns a character at the given [index] or the result of calling the [defaultValue] function if the [index] is out of bounds of this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.elementAtOrElse(index: Int, defaultValue: (Int) -> Char): Char { - return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) -} - /** * Returns a character at the given [index] or `null` if the [index] is out of bounds of this char sequence. */ @@ -50,14 +34,6 @@ public fun CharSequence.elementAtOrNull(index: Int): Char? { return if (index >= 0 && index <= lastIndex) get(index) else null } -/** - * Returns a character at the given [index] or `null` if the [index] is out of bounds of this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.elementAtOrNull(index: Int): Char? { - return if (index >= 0 && index <= lastIndex) get(index) else null -} - /** * Returns the first character matching the given [predicate], or `null` if no such character was found. */ @@ -65,14 +41,6 @@ public inline fun CharSequence.find(predicate: (Char) -> Boolean): Char? { return firstOrNull(predicate) } -/** - * Returns the first character matching the given [predicate], or `null` if no such character was found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.find(predicate: (Char) -> Boolean): Char? { - return firstOrNull(predicate) -} - /** * Returns the last character matching the given [predicate], or `null` if no such character was found. */ @@ -80,14 +48,6 @@ public inline fun CharSequence.findLast(predicate: (Char) -> Boolean): Char? { return lastOrNull(predicate) } -/** - * Returns the last character matching the given [predicate], or `null` if no such character was found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.findLast(predicate: (Char) -> Boolean): Char? { - return lastOrNull(predicate) -} - /** * Returns first character. * @throws [NoSuchElementException] if the char sequence is empty. @@ -98,17 +58,6 @@ public fun CharSequence.first(): Char { return this[0] } -/** - * Returns first character. - * @throws [NoSuchElementException] if the string is empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.first(): Char { - if (isEmpty()) - throw NoSuchElementException("Collection is empty.") - return this[0] -} - /** * Returns the first character matching the given [predicate]. * @throws [NoSuchElementException] if no such character is found. @@ -118,16 +67,6 @@ public inline fun CharSequence.first(predicate: (Char) -> Boolean): Char { throw NoSuchElementException("No element matching predicate was found.") } -/** - * Returns the first character matching the given [predicate]. - * @throws [NoSuchElementException] if no such character is found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.first(predicate: (Char) -> Boolean): Char { - for (element in this) if (predicate(element)) return element - throw NoSuchElementException("No element matching predicate was found.") -} - /** * Returns the first character, or `null` if the char sequence is empty. */ @@ -135,14 +74,6 @@ public fun CharSequence.firstOrNull(): Char? { return if (isEmpty()) null else this[0] } -/** - * Returns the first character, or `null` if the string is empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.firstOrNull(): Char? { - return if (isEmpty()) null else this[0] -} - /** * Returns the first character matching the given [predicate], or `null` if character was not found. */ @@ -151,15 +82,6 @@ public inline fun CharSequence.firstOrNull(predicate: (Char) -> Boolean): Char? return null } -/** - * Returns the first character matching the given [predicate], or `null` if character was not found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.firstOrNull(predicate: (Char) -> Boolean): Char? { - for (element in this) if (predicate(element)) return element - return null -} - /** * Returns a character at the given [index] or the result of calling the [defaultValue] function if the [index] is out of bounds of this char sequence. */ @@ -167,14 +89,6 @@ public inline fun CharSequence.getOrElse(index: Int, defaultValue: (Int) -> Char return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) } -/** - * Returns a character at the given [index] or the result of calling the [defaultValue] function if the [index] is out of bounds of this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.getOrElse(index: Int, defaultValue: (Int) -> Char): Char { - return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) -} - /** * Returns a character at the given [index] or `null` if the [index] is out of bounds of this char sequence. */ @@ -182,14 +96,6 @@ public fun CharSequence.getOrNull(index: Int): Char? { return if (index >= 0 && index <= lastIndex) get(index) else null } -/** - * Returns a character at the given [index] or `null` if the [index] is out of bounds of this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.getOrNull(index: Int): Char? { - return if (index >= 0 && index <= lastIndex) get(index) else null -} - /** * Returns index of the first character matching the given [predicate], or -1 if the char sequence does not contain such character. */ @@ -202,19 +108,6 @@ public inline fun CharSequence.indexOfFirst(predicate: (Char) -> Boolean): Int { return -1 } -/** - * Returns index of the first character matching the given [predicate], or -1 if the string does not contain such character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.indexOfFirst(predicate: (Char) -> Boolean): Int { - for (index in indices) { - if (predicate(this[index])) { - return index - } - } - return -1 -} - /** * Returns index of the last character matching the given [predicate], or -1 if the char sequence does not contain such character. */ @@ -227,19 +120,6 @@ public inline fun CharSequence.indexOfLast(predicate: (Char) -> Boolean): Int { return -1 } -/** - * Returns index of the last character matching the given [predicate], or -1 if the string does not contain such character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.indexOfLast(predicate: (Char) -> Boolean): Int { - for (index in indices.reversed()) { - if (predicate(this[index])) { - return index - } - } - return -1 -} - /** * Returns the last character. * @throws [NoSuchElementException] if the char sequence is empty. @@ -250,17 +130,6 @@ public fun CharSequence.last(): Char { return this[lastIndex] } -/** - * Returns the last character. - * @throws [NoSuchElementException] if the string is empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.last(): Char { - if (isEmpty()) - throw NoSuchElementException("Collection is empty.") - return this[lastIndex] -} - /** * Returns the last character matching the given [predicate]. * @throws [NoSuchElementException] if no such character is found. @@ -273,19 +142,6 @@ public inline fun CharSequence.last(predicate: (Char) -> Boolean): Char { throw NoSuchElementException("Collection doesn't contain any element matching the predicate.") } -/** - * Returns the last character matching the given [predicate]. - * @throws [NoSuchElementException] if no such character is found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.last(predicate: (Char) -> Boolean): Char { - for (index in this.indices.reversed()) { - val element = this[index] - if (predicate(element)) return element - } - throw NoSuchElementException("Collection doesn't contain any element matching the predicate.") -} - /** * Returns the last character, or `null` if the char sequence is empty. */ @@ -293,14 +149,6 @@ public fun CharSequence.lastOrNull(): Char? { return if (isEmpty()) null else this[length - 1] } -/** - * Returns the last character, or `null` if the string is empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lastOrNull(): Char? { - return if (isEmpty()) null else this[length - 1] -} - /** * Returns the last character matching the given [predicate], or `null` if no such character was found. */ @@ -312,18 +160,6 @@ public inline fun CharSequence.lastOrNull(predicate: (Char) -> Boolean): Char? { return null } -/** - * Returns the last character matching the given [predicate], or `null` if no such character was found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.lastOrNull(predicate: (Char) -> Boolean): Char? { - for (index in this.indices.reversed()) { - val element = this[index] - if (predicate(element)) return element - } - return null -} - /** * Returns the single character, or throws an exception if the char sequence is empty or has more than one character. */ @@ -335,18 +171,6 @@ public fun CharSequence.single(): Char { } } -/** - * Returns the single character, or throws an exception if the string is empty or has more than one character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.single(): Char { - return when (length) { - 0 -> throw NoSuchElementException("Collection is empty.") - 1 -> this[0] - else -> throw IllegalArgumentException("Collection has more than one element.") - } -} - /** * Returns the single character matching the given [predicate], or throws exception if there is no or more than one matching character. */ @@ -364,24 +188,6 @@ public inline fun CharSequence.single(predicate: (Char) -> Boolean): Char { return single as Char } -/** - * Returns the single character matching the given [predicate], or throws exception if there is no or more than one matching character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.single(predicate: (Char) -> Boolean): Char { - var single: Char? = null - var found = false - for (element in this) { - if (predicate(element)) { - if (found) throw IllegalArgumentException("Collection contains more than one matching element.") - single = element - found = true - } - } - if (!found) throw NoSuchElementException("Collection doesn't contain any element matching predicate.") - return single as Char -} - /** * Returns single character, or `null` if the char sequence is empty or has more than one character. */ @@ -389,14 +195,6 @@ public fun CharSequence.singleOrNull(): Char? { return if (length == 1) this[0] else null } -/** - * Returns single character, or `null` if the string is empty or has more than one character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.singleOrNull(): Char? { - return if (length == 1) this[0] else null -} - /** * Returns the single character matching the given [predicate], or `null` if character was not found or more than one character was found. */ @@ -414,24 +212,6 @@ public inline fun CharSequence.singleOrNull(predicate: (Char) -> Boolean): Char? return single } -/** - * Returns the single character matching the given [predicate], or `null` if character was not found or more than one character was found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.singleOrNull(predicate: (Char) -> Boolean): Char? { - var single: Char? = null - var found = false - for (element in this) { - if (predicate(element)) { - if (found) return null - single = element - found = true - } - } - if (!found) return null - return single -} - /** * Returns a subsequence of this char sequence with the first [n] characters removed. */ @@ -564,15 +344,6 @@ public inline fun CharSequence.filterNotTo(destination: C, pred return destination } -/** - * Appends all elements not matching the given [predicate] to the given [destination]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.filterNotTo(destination: C, predicate: (Char) -> Boolean): C { - for (element in this) if (!predicate(element)) destination.append(element) - return destination -} - /** * Appends all characters matching the given [predicate] to the given [destination]. */ @@ -584,18 +355,6 @@ public inline fun CharSequence.filterTo(destination: C, predica return destination } -/** - * Appends all characters matching the given [predicate] to the given [destination]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.filterTo(destination: C, predicate: (Char) -> Boolean): C { - for (index in 0..length - 1) { - val element = get(index) - if (predicate(element)) destination.append(element) - } - return destination -} - /** * Returns a char sequence containing characters of the original char sequence at the specified range of [indices]. */ @@ -739,14 +498,6 @@ public fun CharSequence.toArrayList(): ArrayList { return toCollection(ArrayList(length)) } -/** - * Returns an [ArrayList] of all characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.toArrayList(): ArrayList { - return toCollection(ArrayList(length)) -} - /** * Appends all characters to the given [destination] collection. */ @@ -757,17 +508,6 @@ public fun > CharSequence.toCollection(destinatio return destination } -/** - * Appends all characters to the given [destination] collection. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun > String.toCollection(destination: C): C { - for (item in this) { - destination.add(item) - } - return destination -} - /** * Returns a [HashSet] of all characters. */ @@ -775,14 +515,6 @@ public fun CharSequence.toHashSet(): HashSet { return toCollection(HashSet(mapCapacity(length))) } -/** - * Returns a [HashSet] of all characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.toHashSet(): HashSet { - return toCollection(HashSet(mapCapacity(length))) -} - /** * Returns a [List] containing all characters. */ @@ -790,24 +522,6 @@ public fun CharSequence.toList(): List { return this.toArrayList() } -/** - * Returns a [List] containing all characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.toList(): List { - return this.toArrayList() -} - -@Deprecated("Use toMapBy instead.", ReplaceWith("toMapBy(selector)"), level = DeprecationLevel.HIDDEN) -public inline fun CharSequence.toMap(selector: (Char) -> K): Map { - return toMapBy(selector) -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.toMap(selector: (Char) -> K): Map { - return toMapBy(selector) -} - /** * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to characters of the given char sequence. * If any two characters would have the same key returned by [selector] the last one gets added to the map. @@ -817,15 +531,6 @@ public inline fun CharSequence.toMap(selector: (Char) -> K, transform: (C return toMapBy(selector, transform) } -/** - * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to characters of the given string. - * If any two characters would have the same key returned by [selector] the last one gets added to the map. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.toMap(selector: (Char) -> K, transform: (Char) -> V): Map { - return toMapBy(selector, transform) -} - /** * Returns a [Map] containing key-value pairs provided by [transform] function applied to characters of the given char sequence. * If any of two pairs would have the same key the last one gets added to the map. @@ -854,21 +559,6 @@ public inline fun CharSequence.toMapBy(selector: (Char) -> K): Map return result } -/** - * Returns a [Map] containing the characters from the given string indexed by the key - * returned from [selector] function applied to each character. - * If any two characters would have the same key returned by [selector] the last one gets added to the map. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.toMapBy(selector: (Char) -> K): Map { - val capacity = (length/.75f) + 1 - val result = LinkedHashMap(Math.max(capacity.toInt(), 16)) - for (element in this) { - result.put(selector(element), element) - } - return result -} - /** * Returns a [Map] containing the values provided by [transform] and indexed by [selector] functions applied to characters of the given char sequence. * If any two characters would have the same key returned by [selector] the last one gets added to the map. @@ -889,14 +579,6 @@ public fun CharSequence.toSet(): Set { return toCollection(LinkedHashSet(mapCapacity(length))) } -/** - * Returns a [Set] of all characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.toSet(): Set { - return toCollection(LinkedHashSet(mapCapacity(length))) -} - /** * Returns a [SortedSet] of all characters. */ @@ -904,14 +586,6 @@ public fun CharSequence.toSortedSet(): SortedSet { return toCollection(TreeSet()) } -/** - * Returns a [SortedSet] of all characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.toSortedSet(): SortedSet { - return toCollection(TreeSet()) -} - /** * Returns a single list of all elements yielded from results of [transform] function being invoked on each character of original char sequence. */ @@ -919,14 +593,6 @@ public inline fun CharSequence.flatMap(transform: (Char) -> Iterable): Li return flatMapTo(ArrayList(), transform) } -/** - * Returns a single list of all elements yielded from results of [transform] function being invoked on each character of original string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.flatMap(transform: (Char) -> Iterable): List { - return flatMapTo(ArrayList(), transform) -} - /** * Appends all elements yielded from results of [transform] function being invoked on each character of original char sequence, to the given [destination]. */ @@ -938,18 +604,6 @@ public inline fun > CharSequence.flatMapTo(destin return destination } -/** - * Appends all elements yielded from results of [transform] function being invoked on each character of original string, to the given [destination]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun > String.flatMapTo(destination: C, transform: (Char) -> Iterable): C { - for (element in this) { - val list = transform(element) - destination.addAll(list) - } - return destination -} - /** * Returns a map of the characters in original char sequence grouped by the key returned by the given [selector] function. */ @@ -957,14 +611,6 @@ public inline fun CharSequence.groupBy(selector: (Char) -> K): Map>(), selector) } -/** - * Returns a map of the characters in original string grouped by the key returned by the given [selector] function. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.groupBy(selector: (Char) -> K): Map> { - return groupByTo(LinkedHashMap>(), selector) -} - /** * Appends characters from original char sequence grouped by the key returned by the given [selector] function to the given [map]. */ @@ -977,19 +623,6 @@ public inline fun CharSequence.groupByTo(map: MutableMap String.groupByTo(map: MutableMap>, selector: (Char) -> K): Map> { - for (element in this) { - val key = selector(element) - val list = map.getOrPut(key) { ArrayList() } - list.add(element) - } - return map -} - /** * Returns a list containing the results of applying the given [transform] function * to each character in the original char sequence. @@ -998,15 +631,6 @@ public inline fun CharSequence.map(transform: (Char) -> R): List { return mapTo(ArrayList(length), transform) } -/** - * Returns a list containing the results of applying the given [transform] function - * to each character in the original string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.map(transform: (Char) -> R): List { - return mapTo(ArrayList(length), transform) -} - /** * Returns a list containing the results of applying the given [transform] function * to each character and its index in the original char sequence. @@ -1015,15 +639,6 @@ public inline fun CharSequence.mapIndexed(transform: (Int, Char) -> R): List return mapIndexedTo(ArrayList(length), transform) } -/** - * Returns a list containing the results of applying the given [transform] function - * to each character and its index in the original string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.mapIndexed(transform: (Int, Char) -> R): List { - return mapIndexedTo(ArrayList(length), transform) -} - /** * Returns a list containing only the non-null results of applying the given [transform] function * to each character and its index in the original char sequence. @@ -1052,18 +667,6 @@ public inline fun > CharSequence.mapIndexedTo(des return destination } -/** - * Applies the given [transform] function to each character and its index in the original string - * and appends the results to the given [destination]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun > String.mapIndexedTo(destination: C, transform: (Int, Char) -> R): C { - var index = 0 - for (item in this) - destination.add(transform(index++, item)) - return destination -} - /** * Returns a list containing only the non-null results of applying the given [transform] function * to each character in the original char sequence. @@ -1091,17 +694,6 @@ public inline fun > CharSequence.mapTo(destinatio return destination } -/** - * Applies the given [transform] function to each character of the original string - * and appends the results to the given [destination]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun > String.mapTo(destination: C, transform: (Char) -> R): C { - for (item in this) - destination.add(transform(item)) - return destination -} - /** * Returns a lazy [Iterable] of [IndexedValue] for each character of the original char sequence. */ @@ -1109,14 +701,6 @@ public fun CharSequence.withIndex(): Iterable> { return IndexingIterable { iterator() } } -/** - * Returns a lazy [Iterable] of [IndexedValue] for each character of the original string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.withIndex(): Iterable> { - return IndexingIterable { iterator() } -} - /** * Returns `true` if all characters match the given [predicate]. */ @@ -1125,15 +709,6 @@ public inline fun CharSequence.all(predicate: (Char) -> Boolean): Boolean { return true } -/** - * Returns `true` if all characters match the given [predicate]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.all(predicate: (Char) -> Boolean): Boolean { - for (element in this) if (!predicate(element)) return false - return true -} - /** * Returns `true` if char sequence has at least one character. */ @@ -1142,15 +717,6 @@ public fun CharSequence.any(): Boolean { return false } -/** - * Returns `true` if string has at least one character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.any(): Boolean { - for (element in this) return true - return false -} - /** * Returns `true` if at least one character matches the given [predicate]. */ @@ -1159,15 +725,6 @@ public inline fun CharSequence.any(predicate: (Char) -> Boolean): Boolean { return false } -/** - * Returns `true` if at least one character matches the given [predicate]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.any(predicate: (Char) -> Boolean): Boolean { - for (element in this) if (predicate(element)) return true - return false -} - /** * Returns the length of this char sequence. */ @@ -1175,14 +732,6 @@ public fun CharSequence.count(): Int { return length } -/** - * Returns the number of characters in this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.count(): Int { - return length -} - /** * Returns the number of characters matching the given [predicate]. */ @@ -1192,16 +741,6 @@ public inline fun CharSequence.count(predicate: (Char) -> Boolean): Int { return count } -/** - * Returns the number of characters matching the given [predicate]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.count(predicate: (Char) -> Boolean): Int { - var count = 0 - for (element in this) if (predicate(element)) count++ - return count -} - /** * Accumulates value starting with [initial] value and applying [operation] from left to right to current accumulator value and each character. */ @@ -1211,16 +750,6 @@ public inline fun CharSequence.fold(initial: R, operation: (R, Char) -> R): return accumulator } -/** - * Accumulates value starting with [initial] value and applying [operation] from left to right to current accumulator value and each character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.fold(initial: R, operation: (R, Char) -> R): R { - var accumulator = initial - for (element in this) accumulator = operation(accumulator, element) - return accumulator -} - /** * Accumulates value starting with [initial] value and applying [operation] from right to left to each character and current accumulator value. */ @@ -1233,19 +762,6 @@ public inline fun CharSequence.foldRight(initial: R, operation: (Char, R) -> return accumulator } -/** - * Accumulates value starting with [initial] value and applying [operation] from right to left to each character and current accumulator value. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.foldRight(initial: R, operation: (Char, R) -> R): R { - var index = lastIndex - var accumulator = initial - while (index >= 0) { - accumulator = operation(get(index--), accumulator) - } - return accumulator -} - /** * Performs the given [action] on each character. */ @@ -1253,14 +769,6 @@ public inline fun CharSequence.forEach(action: (Char) -> Unit): Unit { for (element in this) action(element) } -/** - * Performs the given [action] on each character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.forEach(action: (Char) -> Unit): Unit { - for (element in this) action(element) -} - /** * Performs the given [action] on each character, providing sequential index with the character. */ @@ -1269,15 +777,6 @@ public inline fun CharSequence.forEachIndexed(action: (Int, Char) -> Unit): Unit for (item in this) action(index++, item) } -/** - * Performs the given [action] on each character, providing sequential index with the character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.forEachIndexed(action: (Int, Char) -> Unit): Unit { - var index = 0 - for (item in this) action(index++, item) -} - /** * Returns the largest character or `null` if there are no characters. */ @@ -1291,20 +790,6 @@ public fun CharSequence.max(): Char? { return max } -/** - * Returns the largest character or `null` if there are no characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.max(): Char? { - if (isEmpty()) return null - var max = this[0] - for (i in 1..lastIndex) { - val e = this[i] - if (max < e) max = e - } - return max -} - /** * Returns the first character yielding the largest value of the given function or `null` if there are no characters. */ @@ -1323,25 +808,6 @@ public inline fun > CharSequence.maxBy(selector: (Char) -> R): return maxElem } -/** - * Returns the first character yielding the largest value of the given function or `null` if there are no characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun > String.maxBy(selector: (Char) -> R): Char? { - if (isEmpty()) return null - var maxElem = this[0] - var maxValue = selector(maxElem) - for (i in 1..lastIndex) { - val e = this[i] - val v = selector(e) - if (maxValue < v) { - maxElem = e - maxValue = v - } - } - return maxElem -} - /** * Returns the first character having the largest value according to the provided [comparator] or `null` if there are no characters. */ @@ -1368,20 +834,6 @@ public fun CharSequence.min(): Char? { return min } -/** - * Returns the smallest character or `null` if there are no characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.min(): Char? { - if (isEmpty()) return null - var min = this[0] - for (i in 1..lastIndex) { - val e = this[i] - if (min > e) min = e - } - return min -} - /** * Returns the first character yielding the smallest value of the given function or `null` if there are no characters. */ @@ -1400,25 +852,6 @@ public inline fun > CharSequence.minBy(selector: (Char) -> R): return minElem } -/** - * Returns the first character yielding the smallest value of the given function or `null` if there are no characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun > String.minBy(selector: (Char) -> R): Char? { - if (isEmpty()) return null - var minElem = this[0] - var minValue = selector(minElem) - for (i in 1..lastIndex) { - val e = this[i] - val v = selector(e) - if (minValue > v) { - minElem = e - minValue = v - } - } - return minElem -} - /** * Returns the first character having the smallest value according to the provided [comparator] or `null` if there are no characters. */ @@ -1440,15 +873,6 @@ public fun CharSequence.none(): Boolean { return true } -/** - * Returns `true` if the string has no characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.none(): Boolean { - for (element in this) return false - return true -} - /** * Returns `true` if no characters match the given [predicate]. */ @@ -1457,15 +881,6 @@ public inline fun CharSequence.none(predicate: (Char) -> Boolean): Boolean { return true } -/** - * Returns `true` if no characters match the given [predicate]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.none(predicate: (Char) -> Boolean): Boolean { - for (element in this) if (predicate(element)) return false - return true -} - /** * Accumulates value starting with the first character and applying [operation] from left to right to current accumulator value and each character. */ @@ -1479,20 +894,6 @@ public inline fun CharSequence.reduce(operation: (Char, Char) -> Char): Char { return accumulator } -/** - * Accumulates value starting with the first character and applying [operation] from left to right to current accumulator value and each character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.reduce(operation: (Char, Char) -> Char): Char { - val iterator = this.iterator() - if (!iterator.hasNext()) throw UnsupportedOperationException("Empty iterable can't be reduced.") - var accumulator = iterator.next() - while (iterator.hasNext()) { - accumulator = operation(accumulator, iterator.next()) - } - return accumulator -} - /** * Accumulates value starting with last character and applying [operation] from right to left to each character and current accumulator value. */ @@ -1506,20 +907,6 @@ public inline fun CharSequence.reduceRight(operation: (Char, Char) -> Char): Cha return accumulator } -/** - * Accumulates value starting with last character and applying [operation] from right to left to each character and current accumulator value. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.reduceRight(operation: (Char, Char) -> Char): Char { - var index = lastIndex - if (index < 0) throw UnsupportedOperationException("Empty iterable can't be reduced.") - var accumulator = get(index--) - while (index >= 0) { - accumulator = operation(get(index--), accumulator) - } - return accumulator -} - /** * Returns the sum of all values produced by [selector] function applied to each character in the char sequence. */ @@ -1531,18 +918,6 @@ public inline fun CharSequence.sumBy(selector: (Char) -> Int): Int { return sum } -/** - * Returns the sum of all values produced by [selector] function applied to each character in the string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.sumBy(selector: (Char) -> Int): Int { - var sum: Int = 0 - for (element in this) { - sum += selector(element) - } - return sum -} - /** * Returns the sum of all values produced by [selector] function applied to each character in the char sequence. */ @@ -1554,18 +929,6 @@ public inline fun CharSequence.sumByDouble(selector: (Char) -> Double): Double { return sum } -/** - * Returns the sum of all values produced by [selector] function applied to each character in the string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.sumByDouble(selector: (Char) -> Double): Double { - var sum: Double = 0.0 - for (element in this) { - sum += selector(element) - } - return sum -} - /** * Splits the original char sequence into pair of char sequences, * where *first* char sequence contains characters for which [predicate] yielded `true`, @@ -1621,29 +984,6 @@ public inline fun CharSequence.zip(other: CharSequence, transform: (Char, Ch return list } -/** - * Returns a list of values built from characters of both char sequences with same indexes using provided [transform]. List has length of shortest char sequence. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.zip(other: CharSequence, transform: (Char, Char) -> V): List { - val length = Math.min(this.length, other.length) - val list = ArrayList(length) - for (i in 0..length-1) { - list.add(transform(this[i], other[i])) - } - return list -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public infix fun CharSequence.zip(other: String): List> { - return zip(other) { c1, c2 -> c1 to c2 } -} - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public infix fun String.zip(other: String): List> { - return zip(other) { c1, c2 -> c1 to c2 } -} - /** * Creates an [Iterable] instance that wraps the original char sequence returning its characters when being iterated. */ @@ -1666,16 +1006,3 @@ public fun CharSequence.asSequence(): Sequence { } } -/** - * Creates a [Sequence] instance that wraps the original string returning its characters when being iterated. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.asSequence(): Sequence { - if (this is String && isEmpty()) return emptySequence() - return object : Sequence { - override fun iterator(): Iterator { - return this@asSequence.iterator() - } - } -} - diff --git a/libraries/stdlib/src/kotlin/TestAssertionsJVM.kt b/libraries/stdlib/src/kotlin/TestAssertionsJVM.kt deleted file mode 100644 index ec8182349e6..00000000000 --- a/libraries/stdlib/src/kotlin/TestAssertionsJVM.kt +++ /dev/null @@ -1,8 +0,0 @@ -@file:kotlin.jvm.JvmMultifileClass -@file:kotlin.jvm.JvmName("TestAssertionsKt") -package kotlin.test - -@Deprecated("For binary compatibility here.", level = DeprecationLevel.HIDDEN) -fun fail(message: String? = null) { - throw AssertionError(message ?: "") -} diff --git a/libraries/stdlib/src/kotlin/collections/Arrays.kt b/libraries/stdlib/src/kotlin/collections/Arrays.kt index 2ad5373b6cc..640ec52cf8b 100644 --- a/libraries/stdlib/src/kotlin/collections/Arrays.kt +++ b/libraries/stdlib/src/kotlin/collections/Arrays.kt @@ -6,27 +6,6 @@ package kotlin.collections import java.util.* -/** - * Returns an array with the specified [size], where each element is calculated by calling the specified - * [init] function. The `init` function returns an array element given its index. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun Array(size: Int, init: (Int) -> T): Array { - val result = arrayOfNulls(size) - - for (i in 0..size - 1) { - result[i] = init(i) - } - - return result as Array -} - -/** - * Returns an empty array of the specified type [T]. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun emptyArray(): Array = arrayOfNulls(0) as Array - /** * Returns a single list of all elements from all arrays in the given array. */ diff --git a/libraries/stdlib/src/kotlin/collections/ArraysJVM.kt b/libraries/stdlib/src/kotlin/collections/ArraysJVM.kt index 51b4fb2facf..3fa4a51e6bc 100644 --- a/libraries/stdlib/src/kotlin/collections/ArraysJVM.kt +++ b/libraries/stdlib/src/kotlin/collections/ArraysJVM.kt @@ -6,62 +6,6 @@ package kotlin.collections import java.io.ByteArrayInputStream import java.nio.charset.Charset -// Array "constructor" -/** - * Returns an array containing the specified elements. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun arrayOf(vararg elements: T) : Array = elements as Array - -// "constructors" for primitive types array -/** - * Returns an array containing the specified [Double] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun doubleArrayOf(vararg elements: Double) : DoubleArray = elements - -/** - * Returns an array containing the specified [Float] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun floatArrayOf(vararg elements: Float) : FloatArray = elements - -/** - * Returns an array containing the specified [Long] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun longArrayOf(vararg elements: Long) : LongArray = elements - -/** - * Returns an array containing the specified [Int] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun intArrayOf(vararg elements: Int) : IntArray = elements - -/** - * Returns an array containing the specified characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun charArrayOf(vararg elements: Char) : CharArray = elements - -/** - * Returns an array containing the specified [Short] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun shortArrayOf(vararg elements: Short) : ShortArray = elements - -/** - * Returns an array containing the specified [Byte] numbers. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun byteArrayOf(vararg elements: Byte) : ByteArray = elements - -/** - * Returns an array containing the specified boolean values. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun booleanArrayOf(vararg elements: Boolean) : BooleanArray = elements - /** * Converts the contents of this byte array to a string using the specified [charset]. */ diff --git a/libraries/stdlib/src/kotlin/collections/MapsJVM.kt b/libraries/stdlib/src/kotlin/collections/MapsJVM.kt index bba288da13f..fc71090b423 100644 --- a/libraries/stdlib/src/kotlin/collections/MapsJVM.kt +++ b/libraries/stdlib/src/kotlin/collections/MapsJVM.kt @@ -18,10 +18,6 @@ public operator fun MutableMap.set(key: K, value: V): Unit { put(key, value) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -@JvmName("set") -public fun MutableMap.set(key: K, value: V): V? = put(key, value) - /** * getOrPut is not supported on [ConcurrentMap] since it cannot be implemented correctly in terms of concurrency. * Use [concurrentGetOrPut] instead, or cast this to a [MutableMap] if you want to sacrifice the concurrent-safety. diff --git a/libraries/stdlib/src/kotlin/collections/MutableCollections.kt b/libraries/stdlib/src/kotlin/collections/MutableCollections.kt index 8ceb4acc34f..227f6d2cbeb 100644 --- a/libraries/stdlib/src/kotlin/collections/MutableCollections.kt +++ b/libraries/stdlib/src/kotlin/collections/MutableCollections.kt @@ -206,14 +206,6 @@ public fun MutableCollection.addAll(elements: Iterable): Boolean { } } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.addAll(elements: Iterable) { - when (elements) { - is Collection -> addAll(elements) - else -> for (item in elements) add(item) - } -} - /** * Adds all elements of the given [elements] sequence to this [MutableCollection]. */ @@ -225,11 +217,6 @@ public fun MutableCollection.addAll(elements: Sequence): Boolean { return result } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.addAll(elements: Sequence) { - for (item in elements) add(item) -} - /** * Adds all elements of the given [elements] array to this [MutableCollection]. */ @@ -237,11 +224,6 @@ public fun MutableCollection.addAll(elements: Array): Boolean { return addAll(elements.asList()) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.addAll(elements: Array) { - addAll(elements.asList()) -} - /** * Removes all elements from this [MutableIterable] that match the given [predicate]. */ @@ -304,11 +286,6 @@ public fun MutableCollection.removeAll(elements: Iterable): Boolean return removeAll(elements.convertToSetForSetOperationWith(this)) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.removeAll(elements: Iterable) { - removeAll(elements.convertToSetForSetOperationWith(this)) -} - /** * Removes all elements from this [MutableCollection] that are also contained in the given [elements] sequence. */ @@ -317,13 +294,6 @@ public fun MutableCollection.removeAll(elements: Sequence): Boolean return set.isNotEmpty() && removeAll(set) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.removeAll(elements: Sequence) { - val set = elements.toHashSet() - if (set.isNotEmpty()) - removeAll(set) -} - /** * Removes all elements from this [MutableCollection] that are also contained in the given [elements] array. */ @@ -331,14 +301,6 @@ public fun MutableCollection.removeAll(elements: Array): Boolea return elements.isNotEmpty() && removeAll(elements.toHashSet()) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.removeAll(elements: Array) { - if (elements.isNotEmpty()) - removeAll(elements.toHashSet()) -// else -// removeAll(emptyList()) -} - /** * Retains only elements of this [MutableCollection] that are contained in the given [elements] collection. */ @@ -346,11 +308,6 @@ public fun MutableCollection.retainAll(elements: Iterable): Boolean return retainAll(elements.convertToSetForSetOperationWith(this)) } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.retainAll(elements: Iterable) { - retainAll(elements.convertToSetForSetOperationWith(this)) -} - /** * Retains only elements of this [MutableCollection] that are contained in the given [elements] array. */ @@ -361,15 +318,6 @@ public fun MutableCollection.retainAll(elements: Array): Boolea return retainNothing() } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.retainAll(elements: Array) { - if (elements.isNotEmpty()) - retainAll(elements.toHashSet()) - else - clear() -// retainAll(emptyList()) -} - /** * Retains only elements of this [MutableCollection] that are contained in the given [elements] sequence. */ @@ -381,15 +329,6 @@ public fun MutableCollection.retainAll(elements: Sequence): Boolean return retainNothing() } -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun MutableCollection.retainAll(elements: Sequence) { - val set = elements.toHashSet() - if (set.isNotEmpty()) - retainAll(set) - else - clear() -} - private fun MutableCollection<*>.retainNothing(): Boolean { val result = isNotEmpty() clear() diff --git a/libraries/stdlib/src/kotlin/math/JMath.kt b/libraries/stdlib/src/kotlin/math/JMath.kt deleted file mode 100644 index 5a66e0f0da2..00000000000 --- a/libraries/stdlib/src/kotlin/math/JMath.kt +++ /dev/null @@ -1,74 +0,0 @@ -@file:JvmVersion -@file:kotlin.jvm.JvmMultifileClass -@file:kotlin.jvm.JvmName("OperationsKt") -package kotlin.math - -import java.math.BigDecimal -import java.math.BigInteger - -/** - * Enables the use of the `+` operator for [BigInteger] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.plus(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigInteger.plus(other: BigInteger) : BigInteger = this.add(other) - -/** - * Enables the use of the `-` operator for [BigInteger] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.minus(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigInteger.minus(other: BigInteger) : BigInteger = this.subtract(other) - -/** - * Enables the use of the `*` operator for [BigInteger] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.times(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigInteger.times(other: BigInteger) : BigInteger = this.multiply(other) - -/** - * Enables the use of the `/` operator for [BigInteger] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.div(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigInteger.div(other: BigInteger) : BigInteger = this.divide(other) - -/** - * Enables the use of the unary `-` operator for [BigInteger] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.unaryMinus()"), level = DeprecationLevel.HIDDEN) -public operator fun BigInteger.unaryMinus() : BigInteger = this.negate() - - -/** - * Enables the use of the `+` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.plus(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.plus(other: BigDecimal) : BigDecimal = this.add(other) - -/** - * Enables the use of the `-` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.minus(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.minus(other: BigDecimal) : BigDecimal = this.subtract(other) - -/** - * Enables the use of the `*` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.times(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.times(other: BigDecimal) : BigDecimal = this.multiply(other) - -/** - * Enables the use of the `/` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.div(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.div(other: BigDecimal) : BigDecimal = this.divide(other) - -/** - * Enables the use of the `%` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.mod(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.mod(other: BigDecimal) : BigDecimal = this.remainder(other) - -/** - * Enables the use of the unary `-` operator for [BigDecimal] instances. - */ -@Deprecated("Provided for binary compatibility", ReplaceWith("this.unaryMinus(other)"), level = DeprecationLevel.HIDDEN) -public operator fun BigDecimal.unaryMinus() : BigDecimal = this.negate() diff --git a/libraries/stdlib/src/kotlin/properties/MapAccessors.kt b/libraries/stdlib/src/kotlin/properties/MapAccessors.kt deleted file mode 100644 index 10a6c392e23..00000000000 --- a/libraries/stdlib/src/kotlin/properties/MapAccessors.kt +++ /dev/null @@ -1,39 +0,0 @@ -@file:kotlin.jvm.JvmName("MapAccessorsKt") -package kotlin.properties - -import kotlin.reflect.KProperty -import kotlin.internal.Exact - -/** - * Returns the value of the property for the given object from this read-only map. - * @param thisRef the object for which the value is requested (not used). - * @param property the metadata for the property, used to get the name of property and lookup the value corresponding to this name in the map. - * @return the property value. - * - * @throws NoSuchElementException when the map doesn't contain value for the property name and doesn't provide an implicit default (see [withDefault]). - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public operator fun Map.getValue(thisRef: Any?, property: KProperty<*>): V1 = getOrImplicitDefault(property.name) as V1 - -/** - * Returns the value of the property for the given object from this mutable map. - * @param thisRef the object for which the value is requested (not used). - * @param property the metadata for the property, used to get the name of property and lookup the value corresponding to this name in the map. - * @return the property value. - * - * @throws NoSuchElementException when the map doesn't contain value for the property name and doesn't provide an implicit default (see [withDefault]). - */ -@kotlin.jvm.JvmName("getVar") -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public operator fun MutableMap.getValue(thisRef: Any?, property: KProperty<*>): V = getOrImplicitDefault(property.name) as V - -/** - * Stores the value of the property for the given object in this mutable map. - * @param thisRef the object for which the value is requested (not used). - * @param property the metadata for the property, used to get the name of property and store the value associated with that name in the map. - * @param value the value to set. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public operator fun MutableMap.setValue(thisRef: Any?, property: KProperty<*>, value: V) { - this.put(property.name, value) -} diff --git a/libraries/stdlib/src/kotlin/text/Char.kt b/libraries/stdlib/src/kotlin/text/Char.kt index 0e32af62250..b9cbee47e38 100644 --- a/libraries/stdlib/src/kotlin/text/Char.kt +++ b/libraries/stdlib/src/kotlin/text/Char.kt @@ -57,45 +57,3 @@ public fun Char.isLowSurrogate(): Boolean = this in Char.MIN_LOW_SURROGATE..Char * Returns `true` if this character is a Unicode surrogate code unit. */ public fun Char.isSurrogate(): Boolean = this in Char.MIN_SURROGATE..Char.MAX_SURROGATE - -/** - * The minimum value of a Unicode high-surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MIN_HIGH_SURROGATE: Char - get() = '\uD800' - -/** - * The maximum value of a Unicode high-surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MAX_HIGH_SURROGATE: Char - get() = '\uDBFF' - -/** - * The minimum value of a Unicode low-surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MIN_LOW_SURROGATE: Char - get() = '\uDC00' - -/** - * The maximum value of a Unicode low-surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MAX_LOW_SURROGATE: Char - get() = '\uDFFF' - -/** - * The minimum value of a Unicode surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MIN_SURROGATE: Char - get() = MIN_HIGH_SURROGATE - -/** - * The maximum value of a Unicode surrogate code unit. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val Char.Companion.MAX_SURROGATE: Char - get() = MAX_LOW_SURROGATE diff --git a/libraries/stdlib/src/kotlin/text/StringsDeprecated.kt b/libraries/stdlib/src/kotlin/text/StringsDeprecated.kt deleted file mode 100644 index 50625730d58..00000000000 --- a/libraries/stdlib/src/kotlin/text/StringsDeprecated.kt +++ /dev/null @@ -1,578 +0,0 @@ -@file:kotlin.jvm.JvmMultifileClass -@file:kotlin.jvm.JvmName("StringsKt") - - -package kotlin.text - -import java.util.NoSuchElementException -import kotlin.text.MatchResult -import kotlin.text.Regex - -/** Returns `true` if the string is not `null` and not empty */ -@Deprecated("Use !isNullOrEmpty() or isNullOrEmpty().not() for nullable strings.", ReplaceWith("this != null && this.isNotEmpty()"), DeprecationLevel.ERROR) -@kotlin.jvm.JvmName("isNotEmptyNullable") -public fun CharSequence?.isNotEmpty(): Boolean = this != null && this.length() > 0 - - -/** Returns `true` if the string is not `null` and not empty */ -@Deprecated("Use !isNullOrEmpty() or isNullOrEmpty().not() for nullable strings.", ReplaceWith("this != null && this.isNotEmpty()"), DeprecationLevel.HIDDEN) -@kotlin.jvm.JvmName("isNotEmptyNullable") -public fun String?.isNotEmpty(): Boolean = this != null && this.length() > 0 - -/** - * Returns `true` if this nullable string is either `null` or empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String?.isNullOrEmpty(): Boolean = this == null || this.length() == 0 - -/** - * Returns `true` if this string is empty (contains no characters). - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.isEmpty(): Boolean = length() == 0 - -/** - * Returns `true` if this string is not empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.isNotEmpty(): Boolean = length() > 0 - -// implemented differently in JVM and JS -//public fun String.isBlank(): Boolean = length() == 0 || all { it.isWhitespace() } - - -/** - * Returns `true` if this string is not empty and contains some characters except of whitespace characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.isNotBlank(): Boolean = !isBlank() - -/** - * Returns `true` if this nullable string is either `null` or empty or consists solely of whitespace characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String?.isNullOrBlank(): Boolean = this == null || this.isBlank() - -/** - * Returns the range of valid character indices for this string. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val String.indices: IntRange - get() = 0..length() - 1 - -/** - * Returns the index of the last character in the String or -1 if the String is empty. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val String.lastIndex: Int - get() = this.length() - 1 - -/* -/** - * Returns a substring before the first occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringBefore(delimiter: Char, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(0, index) -} - -/** - * Returns a substring before the first occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringBefore(delimiter: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(0, index) -} - -/** - * Returns a substring after the first occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringAfter(delimiter: Char, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(index + 1, length()) -} - -/** - * Returns a substring after the first occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringAfter(delimiter: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(index + delimiter.length(), length()) -} - -/** - * Returns a substring before the last occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringBeforeLast(delimiter: Char, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(0, index) -} - -/** - * Returns a substring before the last occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringBeforeLast(delimiter: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(0, index) -} - -/** - * Returns a substring after the last occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringAfterLast(delimiter: Char, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(index + 1, length()) -} - -/** - * Returns a substring after the last occurrence of [delimiter]. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.substringAfterLast(delimiter: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else substring(index + delimiter.length(), length()) -} - - -/** - * Replace part of string before the first occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceBefore(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(0, index, replacement) -} - -/** - * Replace part of string before the first occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceBefore(delimiter: String, replacement: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(0, index, replacement) -} - -/** - * Replace part of string after the first occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceAfter(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(index + 1, length(), replacement) -} - -/** - * Replace part of string after the first occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceAfter(delimiter: String, replacement: String, missingDelimiterValue: String = this): String { - val index = indexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(index + delimiter.length(), length(), replacement) -} - -/** - * Replace part of string after the last occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceAfterLast(delimiter: String, replacement: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(index + delimiter.length(), length(), replacement) -} - -/** - * Replace part of string after the last occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceAfterLast(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(index + 1, length(), replacement) -} - -/** - * Replace part of string before the last occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceBeforeLast(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(0, index, replacement) -} - -/** - * Replace part of string before the last occurrence of given delimiter with the [replacement] string. - * If the string does not contain the delimiter, returns [missingDelimiterValue] which defaults to the original string. - */ -public fun String.replaceBeforeLast(delimiter: String, replacement: String, missingDelimiterValue: String = this): String { - val index = lastIndexOf(delimiter) - return if (index == -1) missingDelimiterValue else replaceRange(0, index, replacement) -} -*/ - - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.replaceRange(firstIndex: Int, lastIndex: Int, replacement: String): String - = replaceRange(firstIndex, lastIndex, replacement) - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.replaceRange(range: IntRange, replacement: String): String - = replaceRange(range.start, range.end + 1, replacement) - -private val IntRange.end: Int get() = endInclusive - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.removePrefix(prefix: String): String = removePrefix(prefix) - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.removeSuffix(suffix: String): String = removeSuffix(suffix) - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.removeSurrounding(prefix: String, suffix: String): String = removeSurrounding(prefix, suffix) - -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.removeSurrounding(delimiter: String): String = removeSurrounding(delimiter, delimiter) - - - -/** - * Returns a new string obtained by replacing each substring of this string that matches the given regular expression - * with the given [replacement]. - * - * The [replacement] can consist of any combination of literal text and $-substitutions. To treat the replacement string - * literally escape it with the [kotlin.text.Regex.Companion.escapeReplacement] method. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.replace(regex: Regex, replacement: String): String = regex.replace(this, replacement) - -/** - * Returns a new string obtained by replacing each substring of this string that matches the given regular expression - * with the result of the given function [transform] that takes [MatchResult] and returns a string to be used as a - * replacement for that match. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.replace(regex: Regex, transform: (MatchResult) -> String): String = regex.replace(this, transform) - -/** - * Replaces the first occurrence of the given regular expression [regex] in this string with specified [replacement] expression. - * - * @param replacement A replacement expression that can include substitutions. See [Regex.replaceFirst] for details. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.replaceFirst(regex: Regex, replacement: String): String = regex.replaceFirst(this, replacement) - - -/** - * Returns `true` if this string matches the given regular expression. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.matches(regex: Regex): Boolean = regex.matches(this) - - -/** - * Returns `true` if this string starts with the specified character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.startsWith(char: Char, ignoreCase: Boolean = false): Boolean = - this.length() > 0 && this[0].equals(char, ignoreCase) - -/** - * Returns `true` if this string ends with the specified character. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.endsWith(char: Char, ignoreCase: Boolean = false): Boolean = - this.length() > 0 && this[lastIndex].equals(char, ignoreCase) - - - - - -// indexOfAny() - -private fun String.findAnyOf(chars: CharArray, startIndex: Int, ignoreCase: Boolean, last: Boolean): Pair? { - if (!ignoreCase && chars.size() == 1) { - val char = chars.single() - val index = if (!last) nativeIndexOf(char, startIndex) else nativeLastIndexOf(char, startIndex) - return if (index < 0) null else index to char - } - - val indices = if (!last) Math.max(startIndex, 0)..lastIndex else Math.min(startIndex, lastIndex) downTo 0 - for (index in indices) { - val charAtIndex = get(index) - val matchingCharIndex = chars.indexOfFirst { it.equals(charAtIndex, ignoreCase) } - if (matchingCharIndex >= 0) - return index to chars[matchingCharIndex] - } - - return null -} - -/** - * Finds the index of the first occurrence of any of the specified [chars] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param ignoreCase `true` to ignore character case when matching a character. By default `false`. - * @returns An index of the first occurrence of matched character from [chars] or -1 if none of [chars] are found. - * - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.indexOfAny(chars: CharArray, startIndex: Int = 0, ignoreCase: Boolean = false): Int = - findAnyOf(chars, startIndex, ignoreCase, last = false)?.first ?: -1 - -/** - * Finds the index of the last occurrence of any of the specified [chars] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param startIndex The index of character to start searching at. The search proceeds backward toward the beginning of the string. - * @param ignoreCase `true` to ignore character case when matching a character. By default `false`. - * @returns An index of the last occurrence of matched character from [chars] or -1 if none of [chars] are found. - * - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lastIndexOfAny(chars: CharArray, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int = - findAnyOf(chars, startIndex, ignoreCase, last = true)?.first ?: -1 - - -private fun String.findAnyOf(strings: Collection, startIndex: Int, ignoreCase: Boolean, last: Boolean): Pair? { - if (!ignoreCase && strings.size() == 1) { - val string = strings.single() - val index = if (!last) nativeIndexOf(string, startIndex) else nativeLastIndexOf(string, startIndex) - return if (index < 0) null else index to string - } - - val indices = if (!last) Math.max(startIndex, 0)..length() else Math.min(startIndex, lastIndex) downTo 0 - for (index in indices) { - val matchingString = strings.firstOrNull { it.regionMatches(0, this, index, it.length(), ignoreCase) } - if (matchingString != null) - return index to matchingString - } - - return null -} - -/** - * Finds the first occurrence of any of the specified [strings] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns A pair of an index of the first occurrence of matched string from [strings] and the string matched or `null` if none of [strings] are found. - * - * To avoid ambiguous results when strings in [strings] have characters in common, this method proceeds from - * the beginning to the end of this string, and finds at each position the first element in [strings] - * that matches this string at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.findAnyOf(strings: Collection, startIndex: Int = 0, ignoreCase: Boolean = false): Pair? = - findAnyOf(strings, startIndex, ignoreCase, last = false) - -/** - * Finds the last occurrence of any of the specified [strings] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param startIndex The index of character to start searching at. The search proceeds backward toward the beginning of the string. - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns A pair of an index of the last occurrence of matched string from [strings] and the string matched or `null` if none of [strings] are found. - * - * To avoid ambiguous results when strings in [strings] have characters in common, this method proceeds from - * the end toward the beginning of this string, and finds at each position the first element in [strings] - * that matches this string at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.findLastAnyOf(strings: Collection, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Pair? = - findAnyOf(strings, startIndex, ignoreCase, last = true) - -/** - * Finds the index of the first occurrence of any of the specified [strings] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns An index of the first occurrence of matched string from [strings] or -1 if none of [strings] are found. - * - * To avoid ambiguous results when strings in [strings] have characters in common, this method proceeds from - * the beginning to the end of this string, and finds at each position the first element in [strings] - * that matches this string at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.indexOfAny(strings: Collection, startIndex: Int = 0, ignoreCase: Boolean = false): Int = - findAnyOf(strings, startIndex, ignoreCase, last = false)?.first ?: -1 - -/** - * Finds the index of the last occurrence of any of the specified [strings] in this string, starting from the specified [startIndex] and - * optionally ignoring the case. - * - * @param startIndex The index of character to start searching at. The search proceeds backward toward the beginning of the string. - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns An index of the last occurrence of matched string from [strings] or -1 if none of [strings] are found. - * - * To avoid ambiguous results when strings in [strings] have characters in common, this method proceeds from - * the end toward the beginning of this string, and finds at each position the first element in [strings] - * that matches this string at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lastIndexOfAny(strings: Collection, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int = - findAnyOf(strings, startIndex, ignoreCase, last = true)?.first ?: -1 - - -// indexOf - -/** - * Returns the index within this string of the first occurrence of the specified character, starting from the specified [startIndex]. - * - * @param ignoreCase `true` to ignore character case when matching a character. By default `false`. - * @returns An index of the first occurrence of [char] or -1 if none is found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.indexOf(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int { - return if (ignoreCase) - indexOfAny(charArrayOf(char), startIndex, ignoreCase) - else - nativeIndexOf(char, startIndex) -} - -/** - * Returns the index within this string of the first occurrence of the specified [string], starting from the specified [startIndex]. - * - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns An index of the first occurrence of [string] or -1 if none is found. - */ -@kotlin.jvm.JvmOverloads -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.indexOf(string: String, startIndex: Int = 0, ignoreCase: Boolean = false): Int { - return if (ignoreCase) - indexOfAny(listOf(string), startIndex, ignoreCase) - else - nativeIndexOf(string, startIndex) -} - -/** - * Returns the index within this string of the last occurrence of the specified character, starting from the specified [startIndex]. - * - * @param startIndex The index of character to start searching at. The search proceeds backward toward the beginning of the string. - * @param ignoreCase `true` to ignore character case when matching a character. By default `false`. - * @returns An index of the first occurrence of [char] or -1 if none is found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lastIndexOf(char: Char, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int { - return if (ignoreCase) - lastIndexOfAny(charArrayOf(char), startIndex, ignoreCase) - else - nativeLastIndexOf(char, startIndex) -} - - -/** - * Returns the index within this string of the last occurrence of the specified [string], starting from the specified [startIndex]. - * - * @param startIndex The index of character to start searching at. The search proceeds backward toward the beginning of the string. - * @param ignoreCase `true` to ignore character case when matching a string. By default `false`. - * @returns An index of the first occurrence of [string] or -1 if none is found. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lastIndexOf(string: String, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int { - return if (ignoreCase) - lastIndexOfAny(listOf(string), startIndex, ignoreCase) - else - nativeLastIndexOf(string, startIndex) -} - -/** - * Returns `true` if this string contains the specified sequence of characters as a substring. - * - * @param ignoreCase `true` to ignore character case when comparing strings. By default `false`. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public operator fun String.contains(seq: CharSequence, ignoreCase: Boolean = false): Boolean = - indexOf(seq.toString(), ignoreCase = ignoreCase) >= 0 - - -/** - * Returns `true` if this string contains the specified character. - * - * @param ignoreCase `true` to ignore character case when comparing characters. By default `false`. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public operator fun String.contains(char: Char, ignoreCase: Boolean = false): Boolean = - indexOf(char, ignoreCase = ignoreCase) >= 0 - - - - -// split - -/** - * Splits this string to a sequence of strings around occurrences of the specified [delimiters]. - * - * @param delimiters One or more strings to be used as delimiters. - * @param ignoreCase `true` to ignore character case when matching a delimiter. By default `false`. - * @param limit The maximum number of substrings to return. Zero by default means no limit is set. - * - * To avoid ambiguous results when strings in [delimiters] have characters in common, this method proceeds from - * the beginning to the end of this string, and finds at each position the first element in [delimiters] - * that matches this string at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.splitToSequence(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): Sequence = - splitToSequence(*delimiters, ignoreCase = ignoreCase, limit = limit) - -/** - * Splits this string to a list of strings around occurrences of the specified [delimiters]. - * - * @param delimiters One or more strings to be used as delimiters. - * @param ignoreCase `true` to ignore character case when matching a delimiter. By default `false`. - * @param limit The maximum number of substrings to return. Zero by default means no limit is set. - * - * To avoid ambiguous results when strings in [delimiters] have characters in common, this method proceeds from - * the beginning to the end of this string, and matches at each position the first element in [delimiters] - * that is equal to a delimiter in this instance at that position. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.split(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): List = - splitToSequence(*delimiters, ignoreCase = ignoreCase, limit = limit).toList() - -/** - * Splits this string to a sequence of strings around occurrences of the specified [delimiters]. - * - * @param delimiters One or more characters to be used as delimiters. - * @param ignoreCase `true` to ignore character case when matching a delimiter. By default `false`. - * @param limit The maximum number of substrings to return. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.splitToSequence(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): Sequence = - splitToSequence(*delimiters, ignoreCase = ignoreCase, limit = limit) - -/** - * Splits this string to a list of strings around occurrences of the specified [delimiters]. - * - * @param delimiters One or more characters to be used as delimiters. - * @param ignoreCase `true` to ignore character case when matching a delimiter. By default `false`. - * @param limit The maximum number of substrings to return. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.split(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): List = - splitToSequence(*delimiters, ignoreCase = ignoreCase, limit = limit).toList() - -/** - * Splits this string around matches of the given regular expression. - * - * @param limit Non-negative value specifying the maximum number of substrings to return. - * Zero by default means no limit is set. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.split(pattern: Regex, limit: Int = 0): List = pattern.split(this, limit) - -/** - * Splits this string to a sequence of lines delimited by any of the following character sequences: CRLF, LF or CR. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lineSequence(): Sequence = lineSequence() - -/** - * * Splits this string to a list of lines delimited by any of the following character sequences: CRLF, LF or CR. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.lines(): List = lineSequence().toList() - diff --git a/libraries/stdlib/src/kotlin/text/StringsDeprecatedJVM.kt b/libraries/stdlib/src/kotlin/text/StringsDeprecatedJVM.kt deleted file mode 100644 index e83c6259546..00000000000 --- a/libraries/stdlib/src/kotlin/text/StringsDeprecatedJVM.kt +++ /dev/null @@ -1,182 +0,0 @@ -@file:kotlin.jvm.JvmMultifileClass -@file:kotlin.jvm.JvmName("StringsKt") - -package kotlin.text - -import java.io.StringReader -import java.util.regex.Pattern -import java.nio.charset.Charset -import java.util.* - -/* -/** - * Returns `true` if this string is equal to [anotherString], optionally ignoring character case. - * - * @param ignoreCase `true` to ignore character case when comparing strings. By default `false`. - */ -public fun String.equals(anotherString: String, ignoreCase: Boolean = false): Boolean { - return if (!ignoreCase) - (this as java.lang.String).equals(anotherString) - else - (this as java.lang.String).equalsIgnoreCase(anotherString) -} - -/** - * Returns a new string with all occurrences of [oldChar] replaced with [newChar]. - */ -public fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String { - if (!ignoreCase) - return (this as java.lang.String).replace(oldChar, newChar) - else - return splitToSequence(oldChar, ignoreCase = ignoreCase).joinToString(separator = newChar.toString()) -} - -/** - * Returns a new string obtained by replacing all occurrences of the [oldValue] substring in this string - * with the specified [newValue] string. - */ -public fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String = - splitToSequence(oldValue, ignoreCase = ignoreCase).joinToString(separator = newValue) - - -/** - * Returns a new string with the first occurrence of [oldChar] replaced with [newChar]. - */ -public fun String.replaceFirst(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String { - val index = indexOf(oldChar, ignoreCase = ignoreCase) - return if (index < 0) this else this.replaceRange(index, index + 1, newChar.toString()) -} - -/** - * Returns a new string obtained by replacing the first occurrence of the [oldValue] substring in this string - * with the specified [newValue] string. - */ -public fun String.replaceFirst(oldValue: String, newValue: String, ignoreCase: Boolean = false): String { - val index = indexOf(oldValue, ignoreCase = ignoreCase) - return if (index < 0) this else this.replaceRange(index, index + oldValue.length(), newValue) -} - -*/ - -/** - * Splits this string around matches of the given regular expression. - - * @param limit Non-negative value specifying the maximum number of substrings to return. - * Zero by default means no limit is set. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.split(regex: Pattern, limit: Int = 0): List -{ - require(limit >= 0, { "Limit must be non-negative, but was $limit" } ) - return regex.split(this, if (limit == 0) -1 else limit).asList() -} - -/* - -/** - * Compares two strings lexicographically, optionally ignoring case differences. - */ -public fun String.compareTo(other: String, ignoreCase: Boolean = false): Int { - if (ignoreCase) - return (this as java.lang.String).compareToIgnoreCase(other) - else - return (this as java.lang.String).compareTo(other) -} - -/** - * Returns a new string obtained by concatenating this string and the specified string. - */ -public fun String.concat(str: String): String = (this as java.lang.String).concat(str) - -/** - * Returns `true` if this string is equal to the contents of the specified CharSequence. - */ -public fun String.contentEquals(cs: CharSequence): Boolean = (this as java.lang.String).contentEquals(cs) - -/** - * Returns `true` if this string is equal to the contents of the specified StringBuffer. - */ -public fun String.contentEquals(sb: StringBuffer): Boolean = (this as java.lang.String).contentEquals(sb) - -*/ -/** - * Returns `true` if this string is empty or consists solely of whitespace characters. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.isBlank(): Boolean = length() == 0 || all { it.isWhitespace() } - -/* - -/** - * Returns a subsequence of this sequence specified by given [range]. - */ -public fun CharSequence.slice(range: IntRange): CharSequence { - return subSequence(range.start, range.end + 1) // inclusive -} - -/** - * Returns a copy of this string having its first letter uppercased, or the original string, - * if it's empty or already starts with an upper case letter. - * - * @sample test.text.StringTest.capitalize - */ -public fun String.capitalize(): String { - return if (isNotEmpty() && charAt(0).isLowerCase()) substring(0, 1).toUpperCase() + substring(1) else this -} - -/** - * Returns a copy of this string having its first letter lowercased, or the original string, - * if it's empty or already starts with a lower case letter. - * - * @sample test.text.StringTest.decapitalize - */ -public fun String.decapitalize(): String { - return if (isNotEmpty() && charAt(0).isUpperCase()) substring(0, 1).toLowerCase() + substring(1) else this -} -*/ - -/** - * Repeats a given string [n] times. - * @throws [IllegalArgumentException] when n < 0. - * @sample test.text.StringJVMTest.repeat - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public fun String.repeat(n: Int): String { - if (n < 0) - throw IllegalArgumentException("Value should be non-negative, but was $n") - - val sb = StringBuilder() - for (i in 1..n) { - sb.append(this) - } - return sb.toString() -} - - -/** - * Appends the contents of this string, excluding the first characters that satisfy the given [predicate], - * to the given Appendable. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.dropWhileTo(result: T, predicate: (Char) -> Boolean): T { - var start = true - for (element in this) { - if (start && predicate(element)) { - // ignore - } else { - start = false - result.append(element) - } - } - return result -} - -/** - * Appends the first characters from this string that satisfy the given [predicate] to the given Appendable. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public inline fun String.takeWhileTo(result: T, predicate: (Char) -> Boolean): T { - for (c in this) if (predicate(c)) result.append(c) else break - return result -} - diff --git a/libraries/stdlib/src/kotlin/util/JLangJVM.kt b/libraries/stdlib/src/kotlin/util/JLangJVM.kt index 0cb3ff074c0..8a8e7dc3cb8 100644 --- a/libraries/stdlib/src/kotlin/util/JLangJVM.kt +++ b/libraries/stdlib/src/kotlin/util/JLangJVM.kt @@ -27,13 +27,6 @@ import kotlin.reflect.KClass @Deprecated("Use 'kotlin.jvm.Throws' instead", ReplaceWith("kotlin.jvm.Throws"), DeprecationLevel.ERROR) public annotation class throws(public vararg val exceptionClasses: KClass) -/** - * Returns the runtime Java class of this object. - */ -@Deprecated("Provided for binary compatibility", level = DeprecationLevel.HIDDEN) -public val T.javaClass : Class - get() = (this as java.lang.Object).getClass() as Class - /** * Returns the Java class for the specified type. */ diff --git a/libraries/stdlib/test/MathTest.kt b/libraries/stdlib/test/MathTest.kt index 36031f567b2..a03eff3e3d2 100644 --- a/libraries/stdlib/test/MathTest.kt +++ b/libraries/stdlib/test/MathTest.kt @@ -1,6 +1,5 @@ package test.collections -import kotlin.math.* import java.math.BigInteger import java.math.BigDecimal diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt index 6352d671943..1c51f0ec448 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Aggregates.kt @@ -15,8 +15,7 @@ fun aggregates(): List { return true """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("none(predicate: (T) -> Boolean)") { @@ -30,8 +29,7 @@ fun aggregates(): List { return true """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("none()") { @@ -43,8 +41,7 @@ fun aggregates(): List { return true """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("any(predicate: (T) -> Boolean)") { @@ -58,8 +55,7 @@ fun aggregates(): List { return false """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("any()") { @@ -71,8 +67,7 @@ fun aggregates(): List { return false """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("count(predicate: (T) -> Boolean)") { @@ -87,8 +82,7 @@ fun aggregates(): List { return count """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("count()") { @@ -101,9 +95,8 @@ fun aggregates(): List { return count """ } - deprecate(Strings) { forBinaryCompatibility } doc(CharSequences) { "Returns the length of this char sequence."} - body(CharSequences, Strings) { + body(CharSequences) { "return length" } body(Maps, Collections, ArraysOfObjects, ArraysOfPrimitives) { @@ -113,8 +106,7 @@ fun aggregates(): List { templates add f("sumBy(selector: (T) -> Int)") { inline(true) - include(CharSequences, Strings) - deprecate(Strings) { forBinaryCompatibility } + include(CharSequences) doc { f -> "Returns the sum of all values produced by [selector] function applied to each ${f.element} in the ${f.collection}." } returns("Int") body { @@ -130,8 +122,7 @@ fun aggregates(): List { templates add f("sumByDouble(selector: (T) -> Double)") { inline(true) - include(CharSequences, Strings) - deprecate(Strings) { forBinaryCompatibility } + include(CharSequences) doc { f -> "Returns the sum of all values produced by [selector] function applied to each ${f.element} in the ${f.collection}." } returns("Double") body { @@ -163,8 +154,7 @@ fun aggregates(): List { return min """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) return null var min = this[0] @@ -201,8 +191,7 @@ fun aggregates(): List { return minElem """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) return null @@ -271,8 +260,7 @@ fun aggregates(): List { """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) return null @@ -310,8 +298,7 @@ fun aggregates(): List { return maxElem """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) return null @@ -365,8 +352,7 @@ fun aggregates(): List { templates add f("fold(initial: R, operation: (R, T) -> R)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Accumulates value starting with [initial] value and applying [operation] from left to right to current accumulator value and each ${f.element}." } typeParam("R") returns("R") @@ -382,8 +368,7 @@ fun aggregates(): List { templates add f("foldRight(initial: R, operation: (T, R) -> R)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) + only(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) doc { f -> "Accumulates value starting with [initial] value and applying [operation] from right to left to each ${f.element} and current accumulator value." } typeParam("R") returns("R") @@ -402,8 +387,7 @@ fun aggregates(): List { templates add f("reduce(operation: (T, T) -> T)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) exclude(ArraysOfObjects, Iterables, Sequences) doc { f -> "Accumulates value starting with the first ${f.element} and applying [operation] from left to right to current accumulator value and each ${f.element}." } @@ -447,8 +431,7 @@ fun aggregates(): List { templates add f("reduceRight(operation: (T, T) -> T)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings, ArraysOfPrimitives) + only(CharSequences, ArraysOfPrimitives) doc { f -> "Accumulates value starting with last ${f.element} and applying [operation] from right to left to each ${f.element} and current accumulator value." } returns("T") body { @@ -500,14 +483,12 @@ fun aggregates(): List { for (element in this) action(element) """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("forEachIndexed(action: (Int, T) -> Unit)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Performs the given [action] on each ${f.element}, providing sequential index with the ${f.element}." } returns("Unit") body { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Elements.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Elements.kt index 72e4e84f893..73504238c6e 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Elements.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Elements.kt @@ -228,8 +228,7 @@ fun elements(): List { """ } - deprecate(Strings) { forBinaryCompatibility } - body(Lists, CharSequences, Strings, ArraysOfPrimitives, ArraysOfObjects) { + body(Lists, CharSequences, ArraysOfPrimitives, ArraysOfObjects) { """ for (index in indices) { if (predicate(this[index])) { @@ -259,8 +258,7 @@ fun elements(): List { """ } - deprecate(Strings) { forBinaryCompatibility } - body(Lists, CharSequences, Strings, ArraysOfPrimitives, ArraysOfObjects) { + body(Lists, CharSequences, ArraysOfPrimitives, ArraysOfObjects) { """ for (index in indices.reversed()) { if (predicate(this[index])) { @@ -289,8 +287,7 @@ fun elements(): List { return elementAtOrElse(index) { throw IndexOutOfBoundsException("Sequence doesn't contain element at index $index.") } """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ return get(index) """ @@ -330,9 +327,8 @@ fun elements(): List { return defaultValue(index) """ } - deprecate(Strings) { forBinaryCompatibility } - inline(true, CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + inline(true, CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) """ @@ -343,8 +339,7 @@ fun elements(): List { doc { f -> "Returns ${f.element.prefixWithArticle()} at the given [index] or the result of calling the [defaultValue] function if the [index] is out of bounds of this ${f.collection}." } returns("T") inline(true) - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) + only(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) body { """ return if (index >= 0 && index <= lastIndex) get(index) else defaultValue(index) @@ -386,8 +381,7 @@ fun elements(): List { return null """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ return if (index >= 0 && index <= lastIndex) get(index) else null """ @@ -397,8 +391,7 @@ fun elements(): List { templates add f("getOrNull(index: Int)") { doc { f -> "Returns ${f.element.prefixWithArticle()} at the given [index] or `null` if the [index] is out of bounds of this ${f.collection}." } returns("T?") - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) + only(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) body { """ return if (index >= 0 && index <= lastIndex) get(index) else null @@ -430,8 +423,7 @@ fun elements(): List { } """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) throw NoSuchElementException("Collection is empty.") @@ -468,8 +460,7 @@ fun elements(): List { } """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ return if (isEmpty()) null else this[0] """ @@ -487,8 +478,7 @@ fun elements(): List { templates add f("first(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> """Returns the first ${f.element} matching the given [predicate]. @throws [NoSuchElementException] if no such ${f.element} is found.""" } returns("T") @@ -503,8 +493,7 @@ fun elements(): List { templates add f("firstOrNull(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns the first ${f.element} matching the given [predicate], or `null` if ${f.element} was not found." } returns("T?") body { @@ -517,8 +506,7 @@ fun elements(): List { templates add f("find(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns the first ${f.element} matching the given [predicate], or `null` if no such ${f.element} was found." } returns("T?") body { "return firstOrNull(predicate)"} @@ -560,8 +548,7 @@ fun elements(): List { return last """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings, Lists, ArraysOfObjects, ArraysOfPrimitives) { + body(CharSequences, Lists, ArraysOfObjects, ArraysOfPrimitives) { """ if (isEmpty()) throw NoSuchElementException("Collection is empty.") @@ -600,8 +587,7 @@ fun elements(): List { return last """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ return if (isEmpty()) null else this[length - 1] """ @@ -616,8 +602,7 @@ fun elements(): List { templates add f("last(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> """Returns the last ${f.element} matching the given [predicate]. @throws [NoSuchElementException] if no such ${f.element} is found.""" } returns("T") @@ -642,7 +627,7 @@ fun elements(): List { """ } - body(CharSequences, Strings, ArraysOfPrimitives, ArraysOfObjects, Lists) { + body(CharSequences, ArraysOfPrimitives, ArraysOfObjects, Lists) { """ for (index in this.indices.reversed()) { val element = this[index] @@ -655,8 +640,7 @@ fun elements(): List { templates add f("lastOrNull(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns the last ${f.element} matching the given [predicate], or `null` if no such ${f.element} was found." } returns("T?") body { f -> @@ -677,7 +661,7 @@ fun elements(): List { """ } - body(CharSequences, Strings, ArraysOfPrimitives, ArraysOfObjects, Lists) { + body(CharSequences, ArraysOfPrimitives, ArraysOfObjects, Lists) { """ for (index in this.indices.reversed()) { val element = this[index] @@ -690,8 +674,7 @@ fun elements(): List { templates add f("findLast(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(Lists, CharSequences, Strings) + include(Lists, CharSequences) doc { f -> "Returns the last ${f.element} matching the given [predicate], or `null` if no such ${f.element} was found." } returns("T?") body { "return lastOrNull(predicate)"} @@ -731,8 +714,7 @@ fun elements(): List { return single """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ return when (length) { 0 -> throw NoSuchElementException("Collection is empty.") @@ -782,8 +764,7 @@ fun elements(): List { return single """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ return if (length == 1) this[0] else null """ @@ -797,8 +778,7 @@ fun elements(): List { templates add f("single(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns the single ${f.element} matching the given [predicate], or throws exception if there is no or more than one matching ${f.element}." } returns("T") body { @@ -820,8 +800,7 @@ fun elements(): List { templates add f("singleOrNull(predicate: (T) -> Boolean)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns the single ${f.element} matching the given [predicate], or `null` if ${f.element} was not found or more than one ${f.element} was found." } returns("T?") body { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index 8b9d677070c..0bc41f9367c 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -384,8 +384,7 @@ fun filtering(): List { """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ for (index in 0..length - 1) { val element = get(index) @@ -480,9 +479,8 @@ fun filtering(): List { """ } - deprecate(Strings) { forBinaryCompatibility } doc(CharSequences) { "Appends all characters not matching the given [predicate] to the given [destination]." } - body(CharSequences, Strings) { + body(CharSequences) { """ for (element in this) if (!predicate(element)) destination.append(element) return destination diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Generators.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Generators.kt index 04bcbb6abc5..506c307fb7f 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Generators.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Generators.kt @@ -556,8 +556,7 @@ fun generators(): List { } templates add f("zip(other: CharSequence, transform: (Char, Char) -> V)") { - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings) + only(CharSequences) doc { """ Returns a list of values built from characters of both char sequences with same indexes using provided [transform]. List has length of shortest char sequence. @@ -597,19 +596,6 @@ fun generators(): List { } } - templates add f("zip(other: String)") { - infix(true) - deprecate(Strings) { forBinaryCompatibility } - only(CharSequences, Strings) - deprecate { forBinaryCompatibility } - returns("List>") - body { - """ - return zip(other) { c1, c2 -> c1 to c2 } - """ - } - } - templates add f("zip(other: CharSequence)") { infix(true) only(CharSequences) diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt index 59dc9c6fbed..d5bd8470e67 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Mapping.kt @@ -6,8 +6,7 @@ fun mapping(): List { val templates = arrayListOf() templates add f("withIndex()") { - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns a ${if (f == Sequences) f.mapResult else "lazy [Iterable]"} of [IndexedValue] for each ${f.element} of the original ${f.collection}." } returns("Iterable>") body { @@ -41,8 +40,7 @@ fun mapping(): List { body(ArraysOfObjects, ArraysOfPrimitives) { "return mapIndexedTo(ArrayList(size), transform)" } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { "return mapIndexedTo(ArrayList(length), transform)" } inline(false, Sequences) @@ -69,8 +67,7 @@ fun mapping(): List { body(ArraysOfObjects, ArraysOfPrimitives, Maps) { "return mapTo(ArrayList(size), transform)" } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { "return mapTo(ArrayList(length), transform)" } @@ -149,8 +146,7 @@ fun mapping(): List { return destination """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("mapIndexedTo(destination: C, transform: (Int, T) -> R)") { @@ -174,9 +170,8 @@ fun mapping(): List { return destination """ } - deprecate(Strings) { forBinaryCompatibility } deprecate(Maps) { Deprecation("Use entries.mapIndexedTo instead.", replaceWith = "this.entries.mapIndexedTo(destination, transform)") } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("mapNotNullTo(destination: C, transform: (T) -> R?)") { @@ -231,8 +226,7 @@ fun mapping(): List { body { "return flatMapTo(ArrayList(), transform)" } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("flatMap(transform: (T) -> Sequence)") { @@ -261,8 +255,7 @@ fun mapping(): List { return destination """ } - deprecate(Strings) { forBinaryCompatibility } - include(Maps, CharSequences, Strings) + include(Maps, CharSequences) } templates add f("flatMapTo(destination: C, transform: (T) -> Sequence)") { @@ -287,8 +280,7 @@ fun mapping(): List { templates add f("groupBy(selector: (T) -> K)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns a map of the ${f.element.pluralize()} in original ${f.collection} grouped by the key returned by the given [selector] function." } typeParam("K") returns("Map>") @@ -298,8 +290,7 @@ fun mapping(): List { templates add f("groupByTo(map: MutableMap>, selector: (T) -> K)") { inline(true) - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) typeParam("K") doc { f -> "Appends ${f.element.pluralize()} from original ${f.collection} grouped by the key returned by the given [selector] function to the given [map]." } returns("Map>") diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt index 5258a669259..21ce0c17989 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Sequence.kt @@ -47,8 +47,7 @@ fun sequences(): List { // TODO: Drop special case - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ if (this is String && isEmpty()) return emptySequence() return object : Sequence { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Snapshots.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Snapshots.kt index 688bcb1d7dd..a20e5fdc5fb 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Snapshots.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Snapshots.kt @@ -6,8 +6,7 @@ fun snapshots(): List { val templates = arrayListOf() templates add f("toCollection(destination: C)") { - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Appends all ${f.element.pluralize()} to the given [destination] collection." } returns("C") typeParam("C : MutableCollection") @@ -26,8 +25,7 @@ fun snapshots(): List { returns("Set") body { "return toCollection(LinkedHashSet(mapCapacity(collectionSizeOrDefault(12))))" } body(Sequences) { "return toCollection(LinkedHashSet())" } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { "return toCollection(LinkedHashSet(mapCapacity(length)))" } + body(CharSequences) { "return toCollection(LinkedHashSet(mapCapacity(length)))" } body(ArraysOfObjects, ArraysOfPrimitives) { "return toCollection(LinkedHashSet(mapCapacity(size)))" } } @@ -36,14 +34,12 @@ fun snapshots(): List { returns("HashSet") body { "return toCollection(HashSet(mapCapacity(collectionSizeOrDefault(12))))" } body(Sequences) { "return toCollection(HashSet())" } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { "return toCollection(HashSet(mapCapacity(length)))" } + body(CharSequences) { "return toCollection(HashSet(mapCapacity(length)))" } body(ArraysOfObjects, ArraysOfPrimitives) { "return toCollection(HashSet(mapCapacity(size)))" } } templates add f("toSortedSet()") { - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) typeParam("T: Comparable") doc { f -> "Returns a [SortedSet] of all ${f.element.pluralize()}." } returns("SortedSet") @@ -76,8 +72,7 @@ fun snapshots(): List { """ } body(Collections) { "return ArrayList(this)" } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { "return toCollection(ArrayList(length))" } + body(CharSequences) { "return toCollection(ArrayList(length))" } body(ArraysOfObjects) { "return ArrayList(this.asCollection())" } body(ArraysOfPrimitives) { """ @@ -103,23 +98,12 @@ fun snapshots(): List { } templates add f("toList()") { - deprecate(Strings) { forBinaryCompatibility } - include(CharSequences, Strings) + include(CharSequences) doc { f -> "Returns a [List] containing all ${f.element.pluralize()}." } returns("List") body { "return this.toArrayList()" } } - templates add f("toMap(selector: (T) -> K)") { - inline(true) - deprecate(Strings) { forBinaryCompatibility } - body(Strings) { "return toMapBy(selector)" } - include(CharSequences, Strings) - typeParam("K") - returns("Map") - deprecate(Deprecation("Use toMapBy instead.", replaceWith = "toMapBy(selector)", level = DeprecationLevel.HIDDEN)) - } - templates add f("toMap(transform: (T) -> Pair)") { inline(true) include(CharSequences) @@ -210,8 +194,7 @@ fun snapshots(): List { return result """ } - deprecate(Strings) { forBinaryCompatibility } - body(CharSequences, Strings) { + body(CharSequences) { """ val capacity = (length/.75f) + 1 val result = LinkedHashMap(Math.max(capacity.toInt(), 16)) @@ -246,9 +229,6 @@ fun snapshots(): List { } returns("Map") deprecate(Deprecation("Use toMapBy instead.", "toMapBy(selector, transform)")) - - deprecate(Strings) { forBinaryCompatibility } - body(Strings) { "return toMapBy(selector, transform)"} } templates add f("toMapBy(selector: (T) -> K, transform: (T) -> V)") { diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Strings.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Strings.kt index 7b75b8c24a1..1ab836e2232 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Strings.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Strings.kt @@ -55,17 +55,6 @@ fun strings(): List { } } - templates add f("joinTo(buffer: A, separator: String = \", \", prefix: String = \"\", postfix: String = \"\", limit: Int = -1, truncated: String = \"...\", transform: ((T) -> String)? = null)") { - deprecate { forBinaryCompatibility } - typeParam("A : Appendable") - returns { "A" } - body { - """ - return joinTo(buffer, separator, prefix, postfix, limit, truncated, transform) - """ - } - } - templates add f("joinToString(separator: CharSequence = \", \", prefix: CharSequence = \"\", postfix: CharSequence = \"\", limit: Int = -1, truncated: CharSequence = \"...\", transform: ((T) -> CharSequence)? = null)") { doc { """ @@ -85,15 +74,5 @@ fun strings(): List { } } - templates add f("joinToString(separator: String = \", \", prefix: String = \"\", postfix: String = \"\", limit: Int = -1, truncated: String = \"...\", transform: ((T) -> String)? = null)") { - deprecate { forBinaryCompatibility } - returns("String") - body { - """ - return joinTo(StringBuilder(), separator, prefix, postfix, limit, truncated, transform).toString() - """ - } - } - return templates } \ No newline at end of file