From e821523b906187c8612d498a56a14dfc531307a6 Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Fri, 27 Jan 2023 13:28:02 -0500 Subject: [PATCH] Implement `RandomAccess` on NS(Mutable)Array bridges This communicates to runtime tests that calls to `get` are O(1). --- .../src/main/kotlin/kotlin/native/internal/ObjCExportUtils.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/ObjCExportUtils.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/ObjCExportUtils.kt index c7092557b05..95160cde177 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/ObjCExportUtils.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/ObjCExportUtils.kt @@ -16,7 +16,7 @@ import kotlin.native.internal.ReportUnhandledException @ExportTypeInfo("theObjCObjectWrapperTypeInfo") internal interface ObjCObjectWrapper -internal class NSArrayAsKList : AbstractList(), ObjCObjectWrapper { +internal class NSArrayAsKList : AbstractList(), RandomAccess, ObjCObjectWrapper { override val size: Int get() = getSize() @@ -27,7 +27,7 @@ internal class NSArrayAsKList : AbstractList(), ObjCObjectWrapper { external override fun get(index: Int): Any? } -internal class NSMutableArrayAsKMutableList : AbstractMutableList(), ObjCObjectWrapper { +internal class NSMutableArrayAsKMutableList : AbstractMutableList(), RandomAccess, ObjCObjectWrapper { override val size: Int get() = getSize()