diff --git a/js/js.libraries/src/core/javautil.kt b/js/js.libraries/src/core/javautil.kt index e54fe82d312..e97414f6fd1 100644 --- a/js/js.libraries/src/core/javautil.kt +++ b/js/js.libraries/src/core/javautil.kt @@ -122,12 +122,6 @@ public open class LinkedHashMap( @library public open class NoSuchElementException(message: String? = null) : Exception() {} -@library -public interface Enumeration { - public fun hasMoreElements(): Boolean - public fun nextElement(): E -} - @native public class Date() { public fun getTime(): Int = noImpl diff --git a/libraries/stdlib/src/kotlin/collections/Iterators.kt b/libraries/stdlib/src/kotlin/collections/Iterators.kt index f8131247eb6..2c26059fe7c 100644 --- a/libraries/stdlib/src/kotlin/collections/Iterators.kt +++ b/libraries/stdlib/src/kotlin/collections/Iterators.kt @@ -3,11 +3,12 @@ package kotlin.collections -import java.util.Enumeration +import java.util.* /** * Creates an [Iterator] for an [Enumeration], allowing to use it in `for` loops. */ +@kotlin.jvm.JvmVersion public operator fun Enumeration.iterator(): Iterator = object : Iterator { override fun hasNext(): Boolean = hasMoreElements() diff --git a/libraries/stdlib/src/kotlin/collections/Sequences.kt b/libraries/stdlib/src/kotlin/collections/Sequences.kt index d0c3ecdfa2e..1fd744878d8 100644 --- a/libraries/stdlib/src/kotlin/collections/Sequences.kt +++ b/libraries/stdlib/src/kotlin/collections/Sequences.kt @@ -23,6 +23,7 @@ public fun Iterator.asSequence(): Sequence = Sequence { this }.constra /** * Creates a sequence that returns all values from this enumeration. The sequence is constrained to be iterated only once. */ +@kotlin.jvm.JvmVersion @kotlin.internal.InlineOnly public inline fun Enumeration.asSequence(): Sequence = this.iterator().asSequence()