[K/N] Internalize valueOfForEnum and valuesForEnum functions

As a part of efforts to stabilize Native stdlib.
This commit is contained in:
Abduqodiri Qurbonzoda
2023-04-06 20:48:15 +03:00
parent 72f87ba55f
commit df642dd3fb
@@ -188,7 +188,8 @@ internal fun runUnhandledExceptionHook(throwable: Throwable) {
@ExportForCppRuntime
internal fun TheEmptyString() = ""
public fun <T: Enum<T>> valueOfForEnum(name: String, values: Array<T>) : T {
@PublishedApi
internal fun <T: Enum<T>> valueOfForEnum(name: String, values: Array<T>) : T {
var left = 0
var right = values.size - 1
while (left <= right) {
@@ -203,7 +204,8 @@ public fun <T: Enum<T>> valueOfForEnum(name: String, values: Array<T>) : T {
throw Exception("Invalid enum value name: $name")
}
public fun <T: Enum<T>> valuesForEnum(values: Array<T>): Array<T> {
@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)
result[value.ordinal] = value