[K/N] Mark MutableList.replaceAll with ExperimentalNativeApi

As a part of efforts to stabilize Native stdlib #KT-55765.
This commit is contained in:
Abduqodiri Qurbonzoda
2023-04-13 00:06:42 +03:00
committed by Space Team
parent 040fcee04e
commit 954e11c265
4 changed files with 39 additions and 11 deletions
@@ -0,0 +1,21 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package kotlin.collections
import kotlin.experimental.ExperimentalNativeApi
/**
* Replaces each element in the list with a result of a transformation specified.
*/
// Deprecate in favour of KT-57152 when it's provided.
@ExperimentalNativeApi
public fun <T> MutableList<T>.replaceAll(transformation: (T) -> T) {
val it = listIterator()
while (it.hasNext()) {
val element = it.next()
it.set(transformation(element))
}
}
@@ -56,17 +56,6 @@ internal actual inline fun <E> buildListInternal(capacity: Int, builderAction: M
}
/**
* Replaces each element in the list with a result of a transformation specified.
*/
public fun <T> MutableList<T>.replaceAll(transformation: (T) -> T) {
val it = listIterator()
while (it.hasNext()) {
val element = it.next()
it.set(transformation(element))
}
}
/**
* Groups elements from the [Grouping] source by key and counts elements in each group.
*
@@ -79,6 +79,7 @@ open internal class JointSet(children: List<AbstractSet>, fSet: FSet) : Abstract
assert(newFSet == fSet)
}
@OptIn(ExperimentalNativeApi::class)
children.replaceAll { child -> if (!child.secondPassVisited) child.processSecondPass() else child }
return super.processSecondPassInternal()
}
@@ -0,0 +1,17 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package kotlin.collections
/**
* Replaces each element in the list with a result of a transformation specified.
*/
public fun <T> MutableList<T>.replaceAll(transformation: (T) -> T) {
val it = listIterator()
while (it.hasNext()) {
val element = it.next()
it.set(transformation(element))
}
}