From 0bd263b12ad896d932445c86d28d0a441a4d40a9 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Mon, 3 Apr 2023 20:13:36 +0300 Subject: [PATCH] [K/N] Mark kotlin.native.ref.Cleaner with @ExperimentalNativeApi As a part of efforts to stabilize Native stdlib #KT-55765. --- .../src/main/kotlin/kotlin/native/internal/Cleaner.kt | 3 ++- .../runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt index 2a199b15fc1..df13c04098d 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/internal/Cleaner.kt @@ -5,6 +5,7 @@ package kotlin.native.internal +import kotlin.experimental.ExperimentalNativeApi import kotlin.native.concurrent.* import kotlinx.cinterop.NativePtr @@ -74,7 +75,7 @@ public interface Cleaner @Suppress("DEPRECATION") @ExperimentalStdlibApi @ExportForCompiler -@OptIn(FreezingIsDeprecated::class) +@OptIn(ExperimentalNativeApi::class) fun createCleaner(argument: T, block: (T) -> Unit): Cleaner = kotlin.native.ref.createCleanerImpl(argument, block) as Cleaner diff --git a/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt b/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt index bd29b32d29f..825fe7bc155 100644 --- a/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt +++ b/kotlin-native/runtime/src/main/kotlin/kotlin/native/ref/Cleaner.kt @@ -5,6 +5,7 @@ package kotlin.native.ref +import kotlin.experimental.ExperimentalNativeApi import kotlin.native.concurrent.isShareable import kotlin.native.concurrent.freeze import kotlin.native.internal.* @@ -15,7 +16,7 @@ import kotlinx.cinterop.NativePtr * * Use [createCleaner] to create an instance of this type. */ -@ExperimentalStdlibApi +@ExperimentalNativeApi @SinceKotlin("1.9") public sealed interface Cleaner @@ -83,13 +84,13 @@ public sealed interface Cleaner */ // TODO: Consider just annotating the lambda argument rather than hardcoding checking // by function name in the compiler. -@ExperimentalStdlibApi +@ExperimentalNativeApi @SinceKotlin("1.9") @ExportForCompiler public fun createCleaner(resource: T, cleanupAction: (resource: T) -> Unit): Cleaner = createCleanerImpl(resource, cleanupAction) -@ExperimentalStdlibApi +@ExperimentalNativeApi @OptIn(FreezingIsDeprecated::class) internal fun createCleanerImpl(resource: T, cleanupAction: (T) -> Unit): Cleaner { if (!resource.isShareable()) @@ -110,7 +111,7 @@ internal fun createCleanerImpl(resource: T, cleanupAction: (T) -> Unit): Cle } @Suppress("DEPRECATION") -@ExperimentalStdlibApi +@ExperimentalNativeApi @NoReorderFields @ExportTypeInfo("theCleanerImplTypeInfo") @HasFinalizer