From 7fdf7c6175a9da243e016d3fe158dc19fef30eed Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Sat, 27 Mar 2021 04:22:13 +0300 Subject: [PATCH] [K/N] Move declarations from Text.kt to Strings.kt and StringBuilder.kt --- .../src/main/kotlin/kotlin/native/Text.kt | 40 ------------------- .../main/kotlin/kotlin/text/StringBuilder.kt | 11 +++++ .../src/main/kotlin/kotlin/text/Strings.kt | 24 +++++++++++ 3 files changed, 35 insertions(+), 40 deletions(-) delete mode 100644 kotlin-native/runtime/src/main/kotlin/kotlin/native/Text.kt diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/Text.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/Text.kt deleted file mode 100644 index faa85c04087..00000000000 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/Text.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license - * that can be found in the LICENSE file. - */ - -package kotlin.native - - -internal fun checkBoundsIndexes(startIndex: Int, endIndex: Int, size: Int) { - if (startIndex < 0 || endIndex > size) { - throw IndexOutOfBoundsException("startIndex: $startIndex, endIndex: $endIndex, size: $size") - } - if (startIndex > endIndex) { - throw IllegalArgumentException("startIndex: $startIndex > endIndex: $endIndex") - } -} - -internal fun insertString(array: CharArray, start: Int, value: String): Int = - insertString(array, start, value, 0, value.length) - -@SymbolName("Kotlin_ByteArray_unsafeStringFromUtf8") -internal external fun ByteArray.unsafeStringFromUtf8(start: Int, size: Int) : String - -@SymbolName("Kotlin_ByteArray_unsafeStringFromUtf8OrThrow") -internal external fun ByteArray.unsafeStringFromUtf8OrThrow(start: Int, size: Int) : String - -@SymbolName("Kotlin_String_unsafeStringToUtf8") -internal external fun String.unsafeStringToUtf8(start: Int, size: Int) : ByteArray - -@SymbolName("Kotlin_String_unsafeStringToUtf8OrThrow") -internal external fun String.unsafeStringToUtf8OrThrow(start: Int, size: Int) : ByteArray - -@SymbolName("Kotlin_String_unsafeStringFromCharArray") -internal external fun unsafeStringFromCharArray(array: CharArray, start: Int, size: Int) : String - -@SymbolName("Kotlin_StringBuilder_insertString") -internal external fun insertString(array: CharArray, distIndex: Int, value: String, sourceIndex: Int, count: Int): Int - -@SymbolName("Kotlin_StringBuilder_insertInt") -internal external fun insertInt(array: CharArray, start: Int, value: Int): Int \ No newline at end of file diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/text/StringBuilder.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/text/StringBuilder.kt index c85f4f7b237..aa8ebb5f5d8 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/text/StringBuilder.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/text/StringBuilder.kt @@ -799,6 +799,17 @@ public actual inline fun StringBuilder.insertRange(index: Int, value: CharArray, public actual inline fun StringBuilder.insertRange(index: Int, value: CharSequence, startIndex: Int, endIndex: Int): StringBuilder = this.insertRange(index, value, startIndex, endIndex) + +internal fun insertString(array: CharArray, start: Int, value: String): Int = + insertString(array, start, value, 0, value.length) + +@SymbolName("Kotlin_StringBuilder_insertString") +internal external fun insertString(array: CharArray, distIndex: Int, value: String, sourceIndex: Int, count: Int): Int + +@SymbolName("Kotlin_StringBuilder_insertInt") +internal external fun insertInt(array: CharArray, start: Int, value: Int): Int + + // Method parameters renamings @Suppress("EXTENSION_SHADOWED_BY_MEMBER") @Deprecated("Use append(value: Boolean) instead", ReplaceWith("append(value = it)"), DeprecationLevel.WARNING) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt index 557daa59c70..63d14385ffb 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/text/Strings.kt @@ -328,6 +328,18 @@ public actual fun CharArray.concatToString(startIndex: Int, endIndex: Int): Stri return unsafeStringFromCharArray(this, startIndex, endIndex - startIndex) } +internal fun checkBoundsIndexes(startIndex: Int, endIndex: Int, size: Int) { + if (startIndex < 0 || endIndex > size) { + throw IndexOutOfBoundsException("startIndex: $startIndex, endIndex: $endIndex, size: $size") + } + if (startIndex > endIndex) { + throw IllegalArgumentException("startIndex: $startIndex > endIndex: $endIndex") + } +} + +@SymbolName("Kotlin_String_unsafeStringFromCharArray") +internal external fun unsafeStringFromCharArray(array: CharArray, start: Int, size: Int) : String + /** * Returns a [CharArray] containing characters of this string or its substring. * @@ -399,6 +411,18 @@ public actual fun String.encodeToByteArray(startIndex: Int, endIndex: Int, throw unsafeStringToUtf8(startIndex, endIndex - startIndex) } +@SymbolName("Kotlin_ByteArray_unsafeStringFromUtf8") +internal external fun ByteArray.unsafeStringFromUtf8(start: Int, size: Int) : String + +@SymbolName("Kotlin_ByteArray_unsafeStringFromUtf8OrThrow") +internal external fun ByteArray.unsafeStringFromUtf8OrThrow(start: Int, size: Int) : String + +@SymbolName("Kotlin_String_unsafeStringToUtf8") +internal external fun String.unsafeStringToUtf8(start: Int, size: Int) : ByteArray + +@SymbolName("Kotlin_String_unsafeStringToUtf8OrThrow") +internal external fun String.unsafeStringToUtf8OrThrow(start: Int, size: Int) : ByteArray + internal fun compareToIgnoreCase(thiz: String, other: String): Int { val length = minOf(thiz.length, other.length)