diff --git a/js/js.libraries/src/core/regex.kt b/js/js.libraries/src/core/regex.kt index d50d7ea4450..feb4e00c4ec 100644 --- a/js/js.libraries/src/core/regex.kt +++ b/js/js.libraries/src/core/regex.kt @@ -197,15 +197,9 @@ private fun RegExp.findNext(input: String, from: Int): MatchResult? { override val value: String get() = match[0]!! - override val groups: MatchGroupCollection = object : MatchGroupCollection { + override val groups: MatchGroupCollection = object : MatchGroupCollection, AbstractCollection() { override val size: Int get() = match.length - override fun isEmpty(): Boolean = size == 0 - - override fun contains(element: MatchGroup?): Boolean = this.any { it == element } - override fun containsAll(elements: Collection): Boolean = elements.all { contains(it) } - override fun iterator(): Iterator = indices.asSequence().map { this[it] }.iterator() - override fun get(index: Int): MatchGroup? = match[index]?.let { MatchGroup(it) } } diff --git a/libraries/stdlib/src/kotlin/text/regex/Regex.kt b/libraries/stdlib/src/kotlin/text/regex/Regex.kt index 4391b2d5fa8..b122d4aeb21 100644 --- a/libraries/stdlib/src/kotlin/text/regex/Regex.kt +++ b/libraries/stdlib/src/kotlin/text/regex/Regex.kt @@ -16,7 +16,8 @@ @file:JvmVersion package kotlin.text -import java.util.* +import java.util.Collections +import java.util.EnumSet import java.util.regex.Matcher import java.util.regex.Pattern import kotlin.internal.IMPLEMENTATIONS @@ -232,11 +233,9 @@ private class MatcherMatchResult(private val matcher: Matcher, private val input override val value: String get() = matchResult.group() - override val groups: MatchGroupCollection = object : MatchNamedGroupCollection { + override val groups: MatchGroupCollection = object : MatchNamedGroupCollection, AbstractCollection() { override val size: Int get() = matchResult.groupCount() + 1 override fun isEmpty(): Boolean = false - override fun contains(element: MatchGroup?): Boolean = this.any { it == element } - override fun containsAll(elements: Collection): Boolean = elements.all { contains(it) } override fun iterator(): Iterator = indices.asSequence().map { this[it] }.iterator() override fun get(index: Int): MatchGroup? {