From 5afb2c5e4b60385807f3e94ca5d9c57c43e8184e Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 8 Mar 2024 17:25:31 +0100 Subject: [PATCH] [stdlib] Annotated new API with SinceKotlin(2.0) where required KT-64904 --- libraries/stdlib/api/js/kotlin.collections.kt | 16 ++++++++-------- libraries/stdlib/api/js/kotlin.js.collections.kt | 14 +++++++------- libraries/stdlib/api/js/kotlin.js.kt | 2 +- .../stdlib/common/src/kotlin/JsAnnotationsH.kt | 2 +- .../kotlin/collections/AbstractMutableList.kt | 6 ++---- libraries/stdlib/js/builtins/Collections.kt | 12 ++++++------ .../js/src/kotlin/collections/ArrayList.kt | 2 +- libraries/stdlib/js/src/kotlin/js.collections.kt | 12 ++++++------ 8 files changed, 32 insertions(+), 34 deletions(-) diff --git a/libraries/stdlib/api/js/kotlin.collections.kt b/libraries/stdlib/api/js/kotlin.collections.kt index f97809155e2..82567da900f 100644 --- a/libraries/stdlib/api/js/kotlin.collections.kt +++ b/libraries/stdlib/api/js/kotlin.collections.kt @@ -10115,7 +10115,7 @@ public open class ArrayList : kotlin.collections.AbstractMutableList, kotl @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open override fun asJsArrayView(): kotlin.js.collections.JsArray public open override fun clear(): kotlin.Unit @@ -10319,7 +10319,7 @@ public interface List : kotlin.collections.Collection { @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsReadonlyArrayView(): kotlin.js.collections.JsReadonlyArray public abstract override operator fun contains(element: E): kotlin.Boolean @@ -10376,7 +10376,7 @@ public interface Map { @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsReadonlyMapView(): kotlin.js.collections.JsReadonlyMap public abstract fun containsKey(key: K): kotlin.Boolean @@ -10429,7 +10429,7 @@ public interface MutableList : kotlin.collections.List, kotlin.collections @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsArrayView(): kotlin.js.collections.JsArray public abstract override fun clear(): kotlin.Unit @@ -10472,7 +10472,7 @@ public interface MutableMap : kotlin.collections.Map { @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsMapView(): kotlin.js.collections.JsMap public abstract fun clear(): kotlin.Unit @@ -10495,7 +10495,7 @@ public interface MutableSet : kotlin.collections.Set, kotlin.collections.M @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsSetView(): kotlin.js.collections.JsSet public abstract override fun clear(): kotlin.Unit @@ -10517,7 +10517,7 @@ public interface Set : kotlin.collections.Collection { @kotlin.js.ExperimentalJsExport @kotlin.js.ExperimentalJsCollectionsApi - @kotlin.SinceKotlin(version = "1.9") + @kotlin.SinceKotlin(version = "2.0") public open fun asJsReadonlySetView(): kotlin.js.collections.JsReadonlySet public abstract override operator fun contains(element: E): kotlin.Boolean @@ -10535,4 +10535,4 @@ public abstract class ShortIterator : kotlin.collections.Iterator public final override operator fun next(): kotlin.Short public abstract fun nextShort(): kotlin.Short -} +} \ No newline at end of file diff --git a/libraries/stdlib/api/js/kotlin.js.collections.kt b/libraries/stdlib/api/js/kotlin.js.collections.kt index 052b9cf1659..8bc1c5c055d 100644 --- a/libraries/stdlib/api/js/kotlin.js.collections.kt +++ b/libraries/stdlib/api/js/kotlin.js.collections.kt @@ -1,38 +1,38 @@ @kotlin.js.JsName(name = "Array") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public open external class JsArray : kotlin.js.collections.JsReadonlyArray { public constructor JsArray() } @kotlin.js.JsName(name = "Map") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public open external class JsMap : kotlin.js.collections.JsReadonlyMap { public constructor JsMap() } @kotlin.js.JsName(name = "ReadonlyArray") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public external interface JsReadonlyArray { } @kotlin.js.JsName(name = "ReadonlyMap") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public external interface JsReadonlyMap { } @kotlin.js.JsName(name = "ReadonlySet") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public external interface JsReadonlySet { } @kotlin.js.JsName(name = "Set") -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") @kotlin.js.ExperimentalJsCollectionsApi public open external class JsSet : kotlin.js.collections.JsReadonlySet { public constructor JsSet() -} +} \ No newline at end of file diff --git a/libraries/stdlib/api/js/kotlin.js.kt b/libraries/stdlib/api/js/kotlin.js.kt index a683d6ea7a5..8369d206dae 100644 --- a/libraries/stdlib/api/js/kotlin.js.kt +++ b/libraries/stdlib/api/js/kotlin.js.kt @@ -205,7 +205,7 @@ public final annotation class EagerInitialization : kotlin.Annotation { @kotlin.annotation.Retention(value = AnnotationRetention.BINARY) @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.FUNCTION}) @kotlin.annotation.MustBeDocumented -@kotlin.SinceKotlin(version = "1.9") +@kotlin.SinceKotlin(version = "2.0") public final annotation class ExperimentalJsCollectionsApi : kotlin.Annotation { public constructor ExperimentalJsCollectionsApi() } diff --git a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt index 2b9934c0dd1..96337315eba 100644 --- a/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt +++ b/libraries/stdlib/common/src/kotlin/JsAnnotationsH.kt @@ -144,5 +144,5 @@ public annotation class ExperimentalJsReflectionCreateInstance @Retention(AnnotationRetention.BINARY) @Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION) @MustBeDocumented -@SinceKotlin("1.9") +@SinceKotlin("2.0") public annotation class ExperimentalJsCollectionsApi diff --git a/libraries/stdlib/common/src/kotlin/collections/AbstractMutableList.kt b/libraries/stdlib/common/src/kotlin/collections/AbstractMutableList.kt index 1ff96d577e2..fabc768fd9c 100644 --- a/libraries/stdlib/common/src/kotlin/collections/AbstractMutableList.kt +++ b/libraries/stdlib/common/src/kotlin/collections/AbstractMutableList.kt @@ -21,8 +21,7 @@ public expect abstract class AbstractMutableList : MutableList { * to provide fail-fast behavior when a concurrent modification is detected during iteration. * [ConcurrentModificationException] will be thrown in this case. */ - // TODO: Should be @SinceKotlin("2.0"), see KT-64904 - @SinceKotlin("1.9") + @SinceKotlin("2.0") protected var modCount: Int protected constructor() @@ -30,8 +29,7 @@ public expect abstract class AbstractMutableList : MutableList { /** * Removes the range of elements from this list starting from [fromIndex] and ending with but not including [toIndex]. */ - // TODO: Should be @SinceKotlin("2.0"), see KT-64904 - @SinceKotlin("1.9") + @SinceKotlin("2.0") protected open fun removeRange(fromIndex: Int, toIndex: Int): Unit // From List diff --git a/libraries/stdlib/js/builtins/Collections.kt b/libraries/stdlib/js/builtins/Collections.kt index e6bfb341851..ca6e2c6209a 100644 --- a/libraries/stdlib/js/builtins/Collections.kt +++ b/libraries/stdlib/js/builtins/Collections.kt @@ -203,7 +203,7 @@ public interface List : Collection { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsReadonlyArrayView(): JsReadonlyArray = createJsReadonlyArrayViewFrom(this) } @@ -279,7 +279,7 @@ public interface MutableList : List, MutableCollection { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsArrayView(): JsArray = createJsArrayViewFrom(this) } @@ -309,7 +309,7 @@ public interface Set : Collection { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsReadonlySetView(): JsReadonlySet = createJsReadonlySetViewFrom(this) } @@ -349,7 +349,7 @@ public interface MutableSet : Set, MutableCollection { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsSetView(): JsSet = createJsSetViewFrom(this) } @@ -426,7 +426,7 @@ public interface Map { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsReadonlyMapView(): JsReadonlyMap = createJsReadonlyMapViewFrom(this) } @@ -497,6 +497,6 @@ public interface MutableMap : Map { */ @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") public fun asJsMapView(): JsMap = createJsMapViewFrom(this) } diff --git a/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt b/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt index 7d588c769b1..89487d421fa 100644 --- a/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt +++ b/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt @@ -182,7 +182,7 @@ public actual open class ArrayList internal constructor(private var array: Ar @ExperimentalJsExport @ExperimentalJsCollectionsApi - @SinceKotlin("1.9") + @SinceKotlin("2.0") override fun asJsArrayView(): JsArray = array.unsafeCast>() internal override fun checkIsMutable() { diff --git a/libraries/stdlib/js/src/kotlin/js.collections.kt b/libraries/stdlib/js/src/kotlin/js.collections.kt index 22eea92b880..2e258558110 100644 --- a/libraries/stdlib/js/src/kotlin/js.collections.kt +++ b/libraries/stdlib/js/src/kotlin/js.collections.kt @@ -10,7 +10,7 @@ package kotlin.js.collections * Exposes the TypeScript [ReadonlyArray](https://www.typescriptlang.org/docs/handbook/2/objects.html#the-readonlyarray-type) to Kotlin. */ @JsName("ReadonlyArray") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external interface JsReadonlyArray @@ -18,7 +18,7 @@ public external interface JsReadonlyArray * Exposes the JavaScript [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) to Kotlin. */ @JsName("Array") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external open class JsArray : JsReadonlyArray @@ -26,7 +26,7 @@ public external open class JsArray : JsReadonlyArray * Exposes the TypeScript [ReadonlySet](https://github.com/microsoft/TypeScript/blob/bd952a7a83ce04b3541b952238b6c0e4316b7d5d/src/lib/es2015.collection.d.ts#L103) to Kotlin. */ @JsName("ReadonlySet") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external interface JsReadonlySet @@ -34,7 +34,7 @@ public external interface JsReadonlySet * Exposes the JavaScript [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) to Kotlin. */ @JsName("Set") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external open class JsSet : JsReadonlySet @@ -42,7 +42,7 @@ public external open class JsSet : JsReadonlySet * Exposes the TypeScript [ReadonlyMap](https://github.com/microsoft/TypeScript/blob/bd952a7a83ce04b3541b952238b6c0e4316b7d5d/src/lib/es2015.collection.d.ts#L37) to Kotlin. */ @JsName("ReadonlyMap") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external interface JsReadonlyMap @@ -50,6 +50,6 @@ public external interface JsReadonlyMap * Exposes the JavaScript [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) to Kotlin. */ @JsName("Map") -@SinceKotlin("1.9") +@SinceKotlin("2.0") @ExperimentalJsCollectionsApi public external open class JsMap : JsReadonlyMap \ No newline at end of file