diff --git a/libraries/stdlib/common/src/kotlin/TextH.kt b/libraries/stdlib/common/src/kotlin/TextH.kt index 1c18252e0eb..b5a4009e5d4 100644 --- a/libraries/stdlib/common/src/kotlin/TextH.kt +++ b/libraries/stdlib/common/src/kotlin/TextH.kt @@ -175,6 +175,10 @@ expect fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean expect fun String.compareTo(other: String, ignoreCase: Boolean = false): Int +public expect fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean +public expect fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean +public expect fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean + // From stringsCode.kt internal expect fun String.nativeIndexOf(ch: Char, fromIndex: Int): Int diff --git a/libraries/stdlib/js/src/kotlin/stringsCode.kt b/libraries/stdlib/js/src/kotlin/stringsCode.kt index 8012a902aa7..b4856deee5d 100644 --- a/libraries/stdlib/js/src/kotlin/stringsCode.kt +++ b/libraries/stdlib/js/src/kotlin/stringsCode.kt @@ -16,7 +16,8 @@ internal actual inline fun String.nativeLastIndexOf(ch: Char, fromIndex: Int): I /** * Returns `true` if this string starts with the specified prefix. */ -public fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return nativeStartsWith(prefix, 0) else @@ -26,7 +27,8 @@ public fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boole /** * Returns `true` if a substring of this string starting at the specified offset [startIndex] starts with the specified prefix. */ -public fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return nativeStartsWith(prefix, startIndex) else @@ -36,7 +38,8 @@ public fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolea /** * Returns `true` if this string ends with the specified suffix. */ -public fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return nativeEndsWith(suffix) else diff --git a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt index d6166d4a637..b2bd93fece7 100644 --- a/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt +++ b/libraries/stdlib/jvm/src/kotlin/text/StringsJVM.kt @@ -191,7 +191,8 @@ public actual inline fun String.substring(startIndex: Int, endIndex: Int): Strin /** * Returns `true` if this string starts with the specified prefix. */ -public fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return (this as java.lang.String).startsWith(prefix) else @@ -201,7 +202,8 @@ public fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boole /** * Returns `true` if a substring of this string starting at the specified offset [startIndex] starts with the specified prefix. */ -public fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return (this as java.lang.String).startsWith(prefix, startIndex) else @@ -211,7 +213,8 @@ public fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolea /** * Returns `true` if this string ends with the specified suffix. */ -public fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean { +@Suppress("ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS") +public actual fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean { if (!ignoreCase) return (this as java.lang.String).endsWith(suffix) else