[stdlib] Remove @PublishedApi annotations from throw helpers
diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/RuntimeUtils.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/RuntimeUtils.kt
index 1ee0f43..b1577e1 100644
--- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/RuntimeUtils.kt
+++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/RuntimeUtils.kt
@@ -17,6 +17,7 @@
import kotlin.native.internal.escapeAnalysis.Escapes
@ExportForCppRuntime
+// KT-77876: Remove @PublishedApi after fix of KT-77876
@PublishedApi
internal fun ThrowNullPointerException(): Nothing {
throw NullPointerException()
@@ -34,26 +35,22 @@
}
@ExportForCppRuntime
-@PublishedApi
internal fun ThrowClassCastException(instance: Any, typeInfo: NativePtr): Nothing {
val clazz = KClassImpl<Any>(typeInfo)
throw ClassCastException("${instance::class} cannot be cast to $clazz")
}
@ExportForCppRuntime
-@PublishedApi
internal fun ThrowTypeCastException(instance: Any, typeName: String): Nothing {
throw TypeCastException("${instance::class} cannot be cast to class $typeName")
}
@ExportForCppRuntime
-@PublishedApi
internal fun ThrowKotlinNothingValueException(): Nothing {
throw KotlinNothingValueException()
}
@ExportForCppRuntime
-@PublishedApi
internal fun ThrowInvalidReceiverTypeException(klass: KClass<*>): Nothing {
throw RuntimeException("Unexpected receiver type: " + (klass.qualifiedName ?: "noname"))
}
@@ -73,7 +70,6 @@
throw OutOfMemoryError()
}
-@PublishedApi
internal fun ThrowNoWhenBranchMatchedException(): Nothing {
throw NoWhenBranchMatchedException()
}
@@ -155,7 +151,6 @@
}
// TODO: Can be removed only when native-mt coroutines stop using it.
-@PublishedApi
@ExportForCppRuntime
@OptIn(ExperimentalNativeApi::class)
internal fun OnUnhandledException(throwable: Throwable) {
@@ -181,7 +176,6 @@
@ExportForCppRuntime
internal fun TheEmptyString() = ""
-@PublishedApi
internal fun <T: Enum<T>> valueOfForEnum(name: String, values: Array<T>) : T {
var left = 0
var right = values.size - 1
@@ -197,7 +191,6 @@
throw IllegalArgumentException("Invalid enum value name: $name")
}
-@PublishedApi
internal fun <T: Enum<T>> valuesForEnum(values: Array<T>): Array<T> {
val result = @Suppress("TYPE_PARAMETER_AS_REIFIED") Array<T?>(values.size)
for (value in values)
@@ -220,32 +213,24 @@
@TypedIntrinsic(IntrinsicType.CREATE_EMPTY_STRING)
@InternalForKotlinNative
-@PublishedApi
internal external fun createEmptyString(): String
-@PublishedApi
@TypedIntrinsic(IntrinsicType.IS_SUBTYPE)
internal external fun <T> isSubtype(objTypeInfo: NativePtr): Boolean
-@PublishedApi
internal fun checkProgressionStep(step: Int): Int =
if (step > 0) step else throw IllegalArgumentException("Step must be positive, was: $step.")
-@PublishedApi
internal fun checkProgressionStep(step: Long): Long =
if (step > 0) step else throw IllegalArgumentException("Step must be positive, was: $step.")
-@PublishedApi
internal fun getProgressionLast(start: Char, end: Char, step: Int): Char =
getProgressionLast(start.code, end.code, step).toChar()
-@PublishedApi
internal fun getProgressionLast(start: Int, end: Int, step: Int): Int =
getProgressionLastElement(start, end, step)
-@PublishedApi
internal fun getProgressionLast(start: Long, end: Long, step: Long): Long =
getProgressionLastElement(start, end, step)
-@PublishedApi
// Called by the debugger.
@ExportForCppRuntime
internal fun KonanObjectToUtf8Array(value: Any?): ByteArray {
@@ -268,7 +253,6 @@
return string.encodeToByteArray()
}
-@PublishedApi
@TypedIntrinsic(IntrinsicType.IMMUTABLE_BLOB)
@Escapes.Nothing
internal external fun immutableBlobOfImpl(data: String): ImmutableBlob
diff --git a/libraries/stdlib/js/runtime/hacks.kt b/libraries/stdlib/js/runtime/hacks.kt
index 5b43d2c..a149b3a 100644
--- a/libraries/stdlib/js/runtime/hacks.kt
+++ b/libraries/stdlib/js/runtime/hacks.kt
@@ -13,6 +13,7 @@
internal fun throwUnsupportedOperationException(message: String): Nothing =
throw UnsupportedOperationException(message)
+// KT-77876: Remove @PublishedApi after fix of KT-77876
@PublishedApi
internal fun throwKotlinNothingValueException(): Nothing =
throw KotlinNothingValueException()
diff --git a/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api b/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
index e88aba8..4a124f3 100644
--- a/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
+++ b/libraries/tools/binary-compatibility-validator/klib-public-api/kotlin-stdlib.api
@@ -12551,9 +12551,6 @@
final fun <#A: kotlin/Any?> kotlin.native.internal/getContinuation(): kotlin.coroutines/Continuation<#A> // kotlin.native.internal/getContinuation|getContinuation(){0§<kotlin.Any?>}[0]
// Targets: [native]
-final fun <#A: kotlin/Any?> kotlin.native.internal/isSubtype(kotlin.native.internal/NativePtr): kotlin/Boolean // kotlin.native.internal/isSubtype|isSubtype(kotlin.native.internal.NativePtr){0§<kotlin.Any?>}[0]
-
-// Targets: [native]
final fun <#A: kotlin/Any?> kotlin.native.ref/createCleaner(#A, kotlin/Function1<#A, kotlin/Unit>): kotlin.native.ref/Cleaner // kotlin.native.ref/createCleaner|createCleaner(0:0;kotlin.Function1<0:0,kotlin.Unit>){0§<kotlin.Any?>}[0]
// Targets: [native]
@@ -12623,12 +12620,6 @@
final fun <#A: kotlin/Enum<#A>> kotlin.native.internal/enumValuesIntrinsic(): kotlin/Array<#A> // kotlin.native.internal/enumValuesIntrinsic|enumValuesIntrinsic(){0§<kotlin.Enum<0:0>>}[0]
// Targets: [native]
-final fun <#A: kotlin/Enum<#A>> kotlin.native.internal/valueOfForEnum(kotlin/String, kotlin/Array<#A>): #A // kotlin.native.internal/valueOfForEnum|valueOfForEnum(kotlin.String;kotlin.Array<0:0>){0§<kotlin.Enum<0:0>>}[0]
-
-// Targets: [native]
-final fun <#A: kotlin/Enum<#A>> kotlin.native.internal/valuesForEnum(kotlin/Array<#A>): kotlin/Array<#A> // kotlin.native.internal/valuesForEnum|valuesForEnum(kotlin.Array<0:0>){0§<kotlin.Enum<0:0>>}[0]
-
-// Targets: [native]
final fun <#A: kotlin/Float> (kotlinx.cinterop/NativePlacement).kotlinx.cinterop/alloc(#A): kotlinx.cinterop/FloatVarOf<#A> // kotlinx.cinterop/alloc|alloc@kotlinx.cinterop.NativePlacement(0:0){0§<kotlin.Float>}[0]
// Targets: [native]
@@ -12776,9 +12767,6 @@
final fun kotlin.native.internal.test/worker(kotlin/Array<kotlin/String>) // kotlin.native.internal.test/worker|worker(kotlin.Array<kotlin.String>){}[0]
// Targets: [native]
-final fun kotlin.native.internal/KonanObjectToUtf8Array(kotlin/Any?): kotlin/ByteArray // kotlin.native.internal/KonanObjectToUtf8Array|KonanObjectToUtf8Array(kotlin.Any?){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/Kotlin_boxUnit(): kotlin/Unit? // kotlin.native.internal/Kotlin_boxUnit|Kotlin_boxUnit(){}[0]
// Targets: [native]
@@ -12791,27 +12779,9 @@
final fun kotlin.native.internal/Kotlin_toString(kotlin/Any): kotlin/String // kotlin.native.internal/Kotlin_toString|Kotlin_toString(kotlin.Any){}[0]
// Targets: [native]
-final fun kotlin.native.internal/OnUnhandledException(kotlin/Throwable) // kotlin.native.internal/OnUnhandledException|OnUnhandledException(kotlin.Throwable){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/ThrowClassCastException(kotlin/Any, kotlin.native.internal/NativePtr): kotlin/Nothing // kotlin.native.internal/ThrowClassCastException|ThrowClassCastException(kotlin.Any;kotlin.native.internal.NativePtr){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/ThrowInvalidReceiverTypeException(kotlin.reflect/KClass<*>): kotlin/Nothing // kotlin.native.internal/ThrowInvalidReceiverTypeException|ThrowInvalidReceiverTypeException(kotlin.reflect.KClass<*>){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/ThrowKotlinNothingValueException(): kotlin/Nothing // kotlin.native.internal/ThrowKotlinNothingValueException|ThrowKotlinNothingValueException(){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/ThrowNoWhenBranchMatchedException(): kotlin/Nothing // kotlin.native.internal/ThrowNoWhenBranchMatchedException|ThrowNoWhenBranchMatchedException(){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/ThrowNullPointerException(): kotlin/Nothing // kotlin.native.internal/ThrowNullPointerException|ThrowNullPointerException(){}[0]
// Targets: [native]
-final fun kotlin.native.internal/ThrowTypeCastException(kotlin/Any, kotlin/String): kotlin/Nothing // kotlin.native.internal/ThrowTypeCastException|ThrowTypeCastException(kotlin.Any;kotlin.String){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/ThrowUninitializedPropertyAccessException(kotlin/String): kotlin/Nothing // kotlin.native.internal/ThrowUninitializedPropertyAccessException|ThrowUninitializedPropertyAccessException(kotlin.String){}[0]
// Targets: [native]
@@ -12881,15 +12851,6 @@
final fun kotlin.native.internal/boxUShort(kotlin/UShort): kotlin/UShort? // kotlin.native.internal/boxUShort|boxUShort(kotlin.UShort){}[0]
// Targets: [native]
-final fun kotlin.native.internal/checkProgressionStep(kotlin/Int): kotlin/Int // kotlin.native.internal/checkProgressionStep|checkProgressionStep(kotlin.Int){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/checkProgressionStep(kotlin/Long): kotlin/Long // kotlin.native.internal/checkProgressionStep|checkProgressionStep(kotlin.Long){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/createEmptyString(): kotlin/String // kotlin.native.internal/createEmptyString|createEmptyString(){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/getCachedBooleanBox(kotlin/Boolean): kotlin/Boolean? // kotlin.native.internal/getCachedBooleanBox|getCachedBooleanBox(kotlin.Boolean){}[0]
// Targets: [native]
@@ -12914,24 +12875,12 @@
final fun kotlin.native.internal/getNativeNullPtr(): kotlin.native.internal/NativePtr // kotlin.native.internal/getNativeNullPtr|getNativeNullPtr(){}[0]
// Targets: [native]
-final fun kotlin.native.internal/getProgressionLast(kotlin/Char, kotlin/Char, kotlin/Int): kotlin/Char // kotlin.native.internal/getProgressionLast|getProgressionLast(kotlin.Char;kotlin.Char;kotlin.Int){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/getProgressionLast(kotlin/Int, kotlin/Int, kotlin/Int): kotlin/Int // kotlin.native.internal/getProgressionLast|getProgressionLast(kotlin.Int;kotlin.Int;kotlin.Int){}[0]
-
-// Targets: [native]
-final fun kotlin.native.internal/getProgressionLast(kotlin/Long, kotlin/Long, kotlin/Long): kotlin/Long // kotlin.native.internal/getProgressionLast|getProgressionLast(kotlin.Long;kotlin.Long;kotlin.Long){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/ieee754Equals(kotlin/Double, kotlin/Double): kotlin/Boolean // kotlin.native.internal/ieee754Equals|ieee754Equals(kotlin.Double;kotlin.Double){}[0]
// Targets: [native]
final fun kotlin.native.internal/ieee754Equals(kotlin/Float, kotlin/Float): kotlin/Boolean // kotlin.native.internal/ieee754Equals|ieee754Equals(kotlin.Float;kotlin.Float){}[0]
// Targets: [native]
-final fun kotlin.native.internal/immutableBlobOfImpl(kotlin/String): kotlin.native/ImmutableBlob // kotlin.native.internal/immutableBlobOfImpl|immutableBlobOfImpl(kotlin.String){}[0]
-
-// Targets: [native]
final fun kotlin.native.internal/inBooleanBoxCache(kotlin/Boolean): kotlin/Boolean // kotlin.native.internal/inBooleanBoxCache|inBooleanBoxCache(kotlin.Boolean){}[0]
// Targets: [native]