[stdlib] Make enumEntriesIntrinsic not reified/inline

It's required to simplify the corresponding backends' inliners.

KT-59712, KT-59713
This commit is contained in:
Ilya Gorbunov
2024-02-14 02:46:31 +01:00
committed by Space Team
parent 86d5e83f4b
commit 85854a6b8d
5 changed files with 6 additions and 6 deletions
@@ -11,4 +11,4 @@ import kotlin.native.internal.*
@ExperimentalStdlibApi @ExperimentalStdlibApi
@PublishedApi @PublishedApi
@TypedIntrinsic(IntrinsicType.ENUM_ENTRIES) @TypedIntrinsic(IntrinsicType.ENUM_ENTRIES)
internal actual external inline fun <reified T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> internal actual external fun <T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T>
@@ -8,7 +8,6 @@ package kotlin.enums
@SinceKotlin("1.9") @SinceKotlin("1.9")
@ExperimentalStdlibApi @ExperimentalStdlibApi
@PublishedApi @PublishedApi
internal actual inline fun <reified T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> { internal actual fun <T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> {
throw NotImplementedError() // implemented as intrinsic throw NotImplementedError() // implemented as intrinsic
} }
@@ -8,6 +8,7 @@ package kotlin.enums
@SinceKotlin("1.9") @SinceKotlin("1.9")
@ExperimentalStdlibApi @ExperimentalStdlibApi
@PublishedApi @PublishedApi
internal actual inline fun <reified T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> { @kotlin.internal.InlineOnly
internal actual inline fun <T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> {
throw NotImplementedError() // implemented as intrinsic throw NotImplementedError() // implemented as intrinsic
} }
@@ -33,7 +33,7 @@ public inline fun <reified T : Enum<T>> enumEntries(): EnumEntries<T> = enumEntr
@PublishedApi @PublishedApi
@ExperimentalStdlibApi @ExperimentalStdlibApi
@SinceKotlin("1.9") @SinceKotlin("1.9")
internal expect inline fun <reified T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> internal expect fun <T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T>
@PublishedApi @PublishedApi
@SinceKotlin("1.8") // Used by pre-1.9.0 JVM compiler for the feature in preview mode. Can be safely removed around 2.1 @SinceKotlin("1.8") // Used by pre-1.9.0 JVM compiler for the feature in preview mode. Can be safely removed around 2.1
@@ -8,6 +8,6 @@ package kotlin.enums
@SinceKotlin("1.9") @SinceKotlin("1.9")
@ExperimentalStdlibApi @ExperimentalStdlibApi
@PublishedApi @PublishedApi
internal actual inline fun <reified T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> { internal actual fun <T : Enum<T>> enumEntriesIntrinsic(): EnumEntries<T> {
throw NotImplementedError() // implemented as intrinsic throw NotImplementedError() // implemented as intrinsic
} }