Introduce Common protected function AbstractMutableList.removeRange #KT-57151

This commit is contained in:
Abduqodiri Qurbonzoda
2024-01-30 16:01:04 +02:00
committed by Space Team
parent f84fa29fef
commit 240a423bed
4 changed files with 11 additions and 2 deletions
@@ -13,6 +13,13 @@ package kotlin.collections
public expect abstract class AbstractMutableList<E> : MutableList<E> {
protected constructor()
/**
* 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")
protected open fun removeRange(fromIndex: Int, toIndex: Int): Unit
// From List
override fun isEmpty(): Boolean
@@ -81,7 +81,7 @@ public actual abstract class AbstractMutableList<E> protected actual constructor
/**
* Removes the range of elements from this list starting from [fromIndex] and ending with but not including [toIndex].
*/
protected open fun removeRange(fromIndex: Int, toIndex: Int) {
protected actual open fun removeRange(fromIndex: Int, toIndex: Int) {
val iterator = listIterator(fromIndex)
repeat(toIndex - fromIndex) {
iterator.next()
@@ -13,6 +13,8 @@ import java.util.AbstractList
* @param E the type of elements contained in the list. The list is invariant in its element type.
*/
@SinceKotlin("1.1")
// removeRange: Kotlin `protected` visibility is different from Java
@Suppress("NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS")
public actual abstract class AbstractMutableList<E> protected actual constructor() : MutableList<E>, AbstractList<E>() {
/**
* Replaces the element at the specified position in this list with the specified element.
@@ -81,7 +81,7 @@ public actual abstract class AbstractMutableList<E> protected actual constructor
/**
* Removes the range of elements from this list starting from [fromIndex] and ending with but not including [toIndex].
*/
protected open fun removeRange(fromIndex: Int, toIndex: Int) {
protected actual open fun removeRange(fromIndex: Int, toIndex: Int) {
val iterator = listIterator(fromIndex)
repeat(toIndex - fromIndex) {
iterator.next()