From 98ad68eb90c4e8b954e35865ed99277bd0f2bf48 Mon Sep 17 00:00:00 2001 From: Abduqodiri Qurbonzoda Date: Sun, 25 Feb 2024 15:57:48 +0200 Subject: [PATCH] Promote AutoCloseable & use to stable #KT-65532 --- libraries/stdlib/api/js/kotlin.kt | 8 ++++---- libraries/stdlib/js/src/kotlin/AutoCloseableJs.kt | 9 ++++----- libraries/stdlib/native-wasm/src/kotlin/AutoCloseable.kt | 9 ++++----- libraries/stdlib/src/kotlin/AutoCloseable.kt | 8 ++++---- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/libraries/stdlib/api/js/kotlin.kt b/libraries/stdlib/api/js/kotlin.kt index af8c2129e60..a542a9ed48c 100644 --- a/libraries/stdlib/api/js/kotlin.kt +++ b/libraries/stdlib/api/js/kotlin.kt @@ -821,8 +821,8 @@ public inline fun kotlin.Long.toUShort(): kotlin.UShort @kotlin.internal.InlineOnly public inline fun kotlin.Short.toUShort(): kotlin.UShort -@kotlin.SinceKotlin(version = "1.8") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "2.0") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) @kotlin.internal.InlineOnly public inline fun T.use(block: (T) -> R): R @@ -869,8 +869,8 @@ public open class AssertionError : kotlin.Error { public constructor AssertionError(message: kotlin.String?, cause: kotlin.Throwable?) } -@kotlin.SinceKotlin(version = "1.8") -@kotlin.ExperimentalStdlibApi +@kotlin.SinceKotlin(version = "2.0") +@kotlin.WasExperimental(markerClass = {kotlin.ExperimentalStdlibApi::class}) public interface AutoCloseable { public abstract fun close(): kotlin.Unit } diff --git a/libraries/stdlib/js/src/kotlin/AutoCloseableJs.kt b/libraries/stdlib/js/src/kotlin/AutoCloseableJs.kt index 694410e8887..0fe241e33fb 100644 --- a/libraries/stdlib/js/src/kotlin/AutoCloseableJs.kt +++ b/libraries/stdlib/js/src/kotlin/AutoCloseableJs.kt @@ -8,14 +8,14 @@ package kotlin import kotlin.contracts.InvocationKind import kotlin.contracts.contract -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) public actual interface AutoCloseable { public actual fun close(): Unit } -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun T.use(block: (T) -> R): R { contract { @@ -32,7 +32,6 @@ public actual inline fun T.use(block: (T) -> R): R { } } -@ExperimentalStdlibApi @SinceKotlin("1.8") @PublishedApi internal fun AutoCloseable?.closeFinally(cause: Throwable?): Unit = when { diff --git a/libraries/stdlib/native-wasm/src/kotlin/AutoCloseable.kt b/libraries/stdlib/native-wasm/src/kotlin/AutoCloseable.kt index 0152cfacfcd..69a194c2931 100644 --- a/libraries/stdlib/native-wasm/src/kotlin/AutoCloseable.kt +++ b/libraries/stdlib/native-wasm/src/kotlin/AutoCloseable.kt @@ -8,14 +8,14 @@ package kotlin import kotlin.contracts.InvocationKind import kotlin.contracts.contract -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) public actual interface AutoCloseable { public actual fun close(): Unit } -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public actual inline fun T.use(block: (T) -> R): R { contract { @@ -33,7 +33,6 @@ public actual inline fun T.use(block: (T) -> R): R { } @SinceKotlin("1.8") -@ExperimentalStdlibApi @PublishedApi internal fun AutoCloseable?.closeFinally(cause: Throwable?): Unit = when { this == null -> {} diff --git a/libraries/stdlib/src/kotlin/AutoCloseable.kt b/libraries/stdlib/src/kotlin/AutoCloseable.kt index 52fefe1cfa3..73626746874 100644 --- a/libraries/stdlib/src/kotlin/AutoCloseable.kt +++ b/libraries/stdlib/src/kotlin/AutoCloseable.kt @@ -12,8 +12,8 @@ import kotlin.contracts.contract * A resource that can be closed or released. */ @Suppress("NO_ACTUAL_FOR_EXPECT") -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) public expect interface AutoCloseable { /** * Closes this resource. @@ -43,8 +43,8 @@ public expect interface AutoCloseable { * @return the result of [block] function invoked on this resource. */ @Suppress("NO_ACTUAL_FOR_EXPECT", "EXPECTED_DECLARATION_WITH_BODY") -@SinceKotlin("1.8") -@ExperimentalStdlibApi +@SinceKotlin("2.0") +@WasExperimental(ExperimentalStdlibApi::class) @kotlin.internal.InlineOnly public expect inline fun T.use(block: (T) -> R): R { contract {