From 10b0d147af7c98bde728839887c0f4ea6c3daa76 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Sat, 6 Mar 2021 10:08:45 +0300 Subject: [PATCH] Mark with @SinceKotlin("1.5") the Common char category API --- libraries/stdlib/api/js-v1/kotlin.text.kt | 10 ++++++++++ libraries/stdlib/api/js/kotlin.text.kt | 10 ++++++++++ libraries/stdlib/js/src/kotlin/text/CharCategoryJS.kt | 1 + libraries/stdlib/js/src/kotlin/text/char.kt | 9 +++++++++ libraries/stdlib/src/kotlin/text/Char.kt | 9 +++++++++ libraries/stdlib/src/kotlin/text/CharCategory.kt | 1 + libraries/stdlib/wasm/src/kotlin/Text.kt | 9 +++++++++ libraries/stdlib/wasm/src/kotlin/text/CharCategory.kt | 1 + 8 files changed, 50 insertions(+) diff --git a/libraries/stdlib/api/js-v1/kotlin.text.kt b/libraries/stdlib/api/js-v1/kotlin.text.kt index eb00efa3bbf..0a8b5ea0cab 100644 --- a/libraries/stdlib/api/js-v1/kotlin.text.kt +++ b/libraries/stdlib/api/js-v1/kotlin.text.kt @@ -1,6 +1,7 @@ @kotlin.SinceKotlin(version = "1.2") public val kotlin.String.Companion.CASE_INSENSITIVE_ORDER: kotlin.Comparator { get; } +@kotlin.SinceKotlin(version = "1.5") public val kotlin.Char.category: kotlin.text.CharCategory { get; } public val kotlin.CharSequence.indices: kotlin.ranges.IntRange { get; } @@ -369,8 +370,10 @@ public inline fun kotlin.text.StringBuilder.insertRange(index: kotlin.Int, value public fun kotlin.CharSequence.isBlank(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isDefined(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isDigit(): kotlin.Boolean @kotlin.internal.InlineOnly @@ -378,14 +381,18 @@ public inline fun kotlin.CharSequence.isEmpty(): kotlin.Boolean public fun kotlin.Char.isHighSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isISOControl(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLetter(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLetterOrDigit(): kotlin.Boolean public fun kotlin.Char.isLowSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLowerCase(): kotlin.Boolean @kotlin.internal.InlineOnly @@ -402,8 +409,10 @@ public inline fun kotlin.CharSequence?.isNullOrEmpty(): kotlin.Boolean public fun kotlin.Char.isSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isTitleCase(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isUpperCase(): kotlin.Boolean public fun kotlin.Char.isWhitespace(): kotlin.Boolean @@ -1210,6 +1219,7 @@ public interface Appendable { public abstract fun append(value: kotlin.CharSequence?, startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.text.Appendable } +@kotlin.SinceKotlin(version = "1.5") public final enum class CharCategory : kotlin.Enum { enum entry UNASSIGNED diff --git a/libraries/stdlib/api/js/kotlin.text.kt b/libraries/stdlib/api/js/kotlin.text.kt index eb00efa3bbf..0a8b5ea0cab 100644 --- a/libraries/stdlib/api/js/kotlin.text.kt +++ b/libraries/stdlib/api/js/kotlin.text.kt @@ -1,6 +1,7 @@ @kotlin.SinceKotlin(version = "1.2") public val kotlin.String.Companion.CASE_INSENSITIVE_ORDER: kotlin.Comparator { get; } +@kotlin.SinceKotlin(version = "1.5") public val kotlin.Char.category: kotlin.text.CharCategory { get; } public val kotlin.CharSequence.indices: kotlin.ranges.IntRange { get; } @@ -369,8 +370,10 @@ public inline fun kotlin.text.StringBuilder.insertRange(index: kotlin.Int, value public fun kotlin.CharSequence.isBlank(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isDefined(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isDigit(): kotlin.Boolean @kotlin.internal.InlineOnly @@ -378,14 +381,18 @@ public inline fun kotlin.CharSequence.isEmpty(): kotlin.Boolean public fun kotlin.Char.isHighSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isISOControl(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLetter(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLetterOrDigit(): kotlin.Boolean public fun kotlin.Char.isLowSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isLowerCase(): kotlin.Boolean @kotlin.internal.InlineOnly @@ -402,8 +409,10 @@ public inline fun kotlin.CharSequence?.isNullOrEmpty(): kotlin.Boolean public fun kotlin.Char.isSurrogate(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isTitleCase(): kotlin.Boolean +@kotlin.SinceKotlin(version = "1.5") public fun kotlin.Char.isUpperCase(): kotlin.Boolean public fun kotlin.Char.isWhitespace(): kotlin.Boolean @@ -1210,6 +1219,7 @@ public interface Appendable { public abstract fun append(value: kotlin.CharSequence?, startIndex: kotlin.Int, endIndex: kotlin.Int): kotlin.text.Appendable } +@kotlin.SinceKotlin(version = "1.5") public final enum class CharCategory : kotlin.Enum { enum entry UNASSIGNED diff --git a/libraries/stdlib/js/src/kotlin/text/CharCategoryJS.kt b/libraries/stdlib/js/src/kotlin/text/CharCategoryJS.kt index 45bf9a0417f..66a58010ea0 100644 --- a/libraries/stdlib/js/src/kotlin/text/CharCategoryJS.kt +++ b/libraries/stdlib/js/src/kotlin/text/CharCategoryJS.kt @@ -5,6 +5,7 @@ package kotlin.text +@SinceKotlin("1.5") public actual enum class CharCategory(internal val value: Int, public actual val code: String) { /** * General category "Cn" in the Unicode specification. diff --git a/libraries/stdlib/js/src/kotlin/text/char.kt b/libraries/stdlib/js/src/kotlin/text/char.kt index f90bd4b817e..50fb79d0daf 100644 --- a/libraries/stdlib/js/src/kotlin/text/char.kt +++ b/libraries/stdlib/js/src/kotlin/text/char.kt @@ -105,6 +105,7 @@ public actual fun Char.isLowSurrogate(): Boolean = this in Char.MIN_LOW_SURROGAT /** * Returns the Unicode general category of this character. */ +@SinceKotlin("1.5") public actual val Char.category: CharCategory get() = CharCategory.valueOf(getCategoryValue()) @@ -113,6 +114,7 @@ public actual val Char.category: CharCategory * * A character is considered to be defined in Unicode if its [category] is not [CharCategory.UNASSIGNED]. */ +@SinceKotlin("1.5") public actual fun Char.isDefined(): Boolean { if (this < '\u0080') { return true @@ -128,6 +130,7 @@ public actual fun Char.isDefined(): Boolean { * * @sample samples.text.Chars.isLetter */ +@SinceKotlin("1.5") public actual fun Char.isLetter(): Boolean { if (this in 'a'..'z' || this in 'A'..'Z') { return true @@ -146,6 +149,7 @@ public actual fun Char.isLetter(): Boolean { * * @sample samples.text.Chars.isLetterOrDigit */ +@SinceKotlin("1.5") public actual fun Char.isLetterOrDigit(): Boolean { if (this in 'a'..'z' || this in 'A'..'Z' || this in '0'..'9') { return true @@ -164,6 +168,7 @@ public actual fun Char.isLetterOrDigit(): Boolean { * * @sample samples.text.Chars.isDigit */ +@SinceKotlin("1.5") public actual fun Char.isDigit(): Boolean { if (this in '0'..'9') { return true @@ -181,6 +186,7 @@ public actual fun Char.isDigit(): Boolean { * * @sample samples.text.Chars.isUpperCase */ +@SinceKotlin("1.5") public actual fun Char.isUpperCase(): Boolean { if (this in 'A'..'Z') { return true @@ -198,6 +204,7 @@ public actual fun Char.isUpperCase(): Boolean { * * @sample samples.text.Chars.isLowerCase */ +@SinceKotlin("1.5") public actual fun Char.isLowerCase(): Boolean { if (this in 'a'..'z') { return true @@ -215,6 +222,7 @@ public actual fun Char.isLowerCase(): Boolean { * * @sample samples.text.Chars.isTitleCase */ +@SinceKotlin("1.5") public actual fun Char.isTitleCase(): Boolean { if (this < '\u0080') { return false @@ -229,6 +237,7 @@ public actual fun Char.isTitleCase(): Boolean { * * @sample samples.text.Chars.isISOControl */ +@SinceKotlin("1.5") public actual fun Char.isISOControl(): Boolean { return this <= '\u001F' || this in '\u007F'..'\u009F' } diff --git a/libraries/stdlib/src/kotlin/text/Char.kt b/libraries/stdlib/src/kotlin/text/Char.kt index 5e5f37a0e78..a93c11bc164 100644 --- a/libraries/stdlib/src/kotlin/text/Char.kt +++ b/libraries/stdlib/src/kotlin/text/Char.kt @@ -258,6 +258,7 @@ public fun Char.isSurrogate(): Boolean = this in Char.MIN_SURROGATE..Char.MAX_SU /** * Returns the Unicode general category of this character. */ +@SinceKotlin("1.5") public expect val Char.category: CharCategory /** @@ -265,6 +266,7 @@ public expect val Char.category: CharCategory * * A character is considered to be defined in Unicode if its [category] is not [CharCategory.UNASSIGNED]. */ +@SinceKotlin("1.5") public expect fun Char.isDefined(): Boolean /** @@ -275,6 +277,7 @@ public expect fun Char.isDefined(): Boolean * * @sample samples.text.Chars.isLetter */ +@SinceKotlin("1.5") public expect fun Char.isLetter(): Boolean /** @@ -285,6 +288,7 @@ public expect fun Char.isLetter(): Boolean * * @sample samples.text.Chars.isLetterOrDigit */ +@SinceKotlin("1.5") public expect fun Char.isLetterOrDigit(): Boolean /** @@ -294,6 +298,7 @@ public expect fun Char.isLetterOrDigit(): Boolean * * @sample samples.text.Chars.isDigit */ +@SinceKotlin("1.5") public expect fun Char.isDigit(): Boolean /** @@ -303,6 +308,7 @@ public expect fun Char.isDigit(): Boolean * * @sample samples.text.Chars.isUpperCase */ +@SinceKotlin("1.5") public expect fun Char.isUpperCase(): Boolean /** @@ -312,6 +318,7 @@ public expect fun Char.isUpperCase(): Boolean * * @sample samples.text.Chars.isLowerCase */ +@SinceKotlin("1.5") public expect fun Char.isLowerCase(): Boolean /** @@ -321,6 +328,7 @@ public expect fun Char.isLowerCase(): Boolean * * @sample samples.text.Chars.isTitleCase */ +@SinceKotlin("1.5") public expect fun Char.isTitleCase(): Boolean /** @@ -330,6 +338,7 @@ public expect fun Char.isTitleCase(): Boolean * * @sample samples.text.Chars.isISOControl */ +@SinceKotlin("1.5") public expect fun Char.isISOControl(): Boolean /** diff --git a/libraries/stdlib/src/kotlin/text/CharCategory.kt b/libraries/stdlib/src/kotlin/text/CharCategory.kt index 663818c84a5..a91075fcb5f 100644 --- a/libraries/stdlib/src/kotlin/text/CharCategory.kt +++ b/libraries/stdlib/src/kotlin/text/CharCategory.kt @@ -8,6 +8,7 @@ package kotlin.text /** * Represents the character general category in the Unicode specification. */ +@SinceKotlin("1.5") public expect enum class CharCategory { /** * General category "Cn" in the Unicode specification. diff --git a/libraries/stdlib/wasm/src/kotlin/Text.kt b/libraries/stdlib/wasm/src/kotlin/Text.kt index e7c3228203b..93f445aa95c 100644 --- a/libraries/stdlib/wasm/src/kotlin/Text.kt +++ b/libraries/stdlib/wasm/src/kotlin/Text.kt @@ -147,6 +147,7 @@ public actual fun Char.titlecaseChar(): Char = TODO("Wasm stdlib: Text") /** * Returns the Unicode general category of this character. */ +@SinceKotlin("1.5") public actual val Char.category: CharCategory get() = TODO("Wasm stdlib: Text") /** @@ -154,6 +155,7 @@ public actual val Char.category: CharCategory get() = TODO("Wasm stdlib: Text") * * A character is considered to be defined in Unicode if its [category] is not [CharCategory.UNASSIGNED]. */ +@SinceKotlin("1.5") public actual fun Char.isDefined(): Boolean = TODO("Wasm stdlib: Text") /** @@ -164,6 +166,7 @@ public actual fun Char.isDefined(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isLetter */ +@SinceKotlin("1.5") public actual fun Char.isLetter(): Boolean = TODO("Wasm stdlib: Text") /** @@ -174,6 +177,7 @@ public actual fun Char.isLetter(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isLetterOrDigit */ +@SinceKotlin("1.5") public actual fun Char.isLetterOrDigit(): Boolean = TODO("Wasm stdlib: Text") /** @@ -183,6 +187,7 @@ public actual fun Char.isLetterOrDigit(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isDigit */ +@SinceKotlin("1.5") public actual fun Char.isDigit(): Boolean = TODO("Wasm stdlib: Text") /** @@ -192,6 +197,7 @@ public actual fun Char.isDigit(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isUpperCase */ +@SinceKotlin("1.5") public actual fun Char.isUpperCase(): Boolean = TODO("Wasm stdlib: Text") /** @@ -201,6 +207,7 @@ public actual fun Char.isUpperCase(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isLowerCase */ +@SinceKotlin("1.5") public actual fun Char.isLowerCase(): Boolean = TODO("Wasm stdlib: Text") /** @@ -210,6 +217,7 @@ public actual fun Char.isLowerCase(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isTitleCase */ +@SinceKotlin("1.5") public actual fun Char.isTitleCase(): Boolean = TODO("Wasm stdlib: Text") /** @@ -219,6 +227,7 @@ public actual fun Char.isTitleCase(): Boolean = TODO("Wasm stdlib: Text") * * @sample samples.text.Chars.isISOControl */ +@SinceKotlin("1.5") public actual fun Char.isISOControl(): Boolean = TODO("Wasm stdlib: Text") /** diff --git a/libraries/stdlib/wasm/src/kotlin/text/CharCategory.kt b/libraries/stdlib/wasm/src/kotlin/text/CharCategory.kt index 5655ceb6db6..d2240867d16 100644 --- a/libraries/stdlib/wasm/src/kotlin/text/CharCategory.kt +++ b/libraries/stdlib/wasm/src/kotlin/text/CharCategory.kt @@ -8,6 +8,7 @@ package kotlin.text /** * Represents the character general category in the Unicode specification. */ +@SinceKotlin("1.5") public actual enum class CharCategory { /** * General category "Cn" in the Unicode specification.