diff --git a/libraries/stdlib/common/src/generated/_Arrays.kt b/libraries/stdlib/common/src/generated/_Arrays.kt index 9aafae332b447..6ca973e3933e4 100644 --- a/libraries/stdlib/common/src/generated/_Arrays.kt +++ b/libraries/stdlib/common/src/generated/_Arrays.kt @@ -5005,10 +5005,7 @@ public fun Array.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5024,10 +5021,7 @@ public fun ByteArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5043,10 +5037,7 @@ public fun ShortArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5062,10 +5053,7 @@ public fun IntArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5081,10 +5069,7 @@ public fun LongArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5100,10 +5085,7 @@ public fun FloatArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5119,10 +5101,7 @@ public fun DoubleArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5138,10 +5117,7 @@ public fun BooleanArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -5157,10 +5133,7 @@ public fun CharArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** diff --git a/libraries/stdlib/common/src/generated/_UArrays.kt b/libraries/stdlib/common/src/generated/_UArrays.kt index bf8fa0161475d..07f6ebde68cda 100644 --- a/libraries/stdlib/common/src/generated/_UArrays.kt +++ b/libraries/stdlib/common/src/generated/_UArrays.kt @@ -2482,10 +2482,7 @@ public fun UIntArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -2503,10 +2500,7 @@ public fun ULongArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -2524,10 +2518,7 @@ public fun UByteArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** @@ -2545,10 +2536,7 @@ public fun UShortArray.takeLast(n: Int): List { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() } /** diff --git a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt index 840191c5f86cb..6b72fc9fc1096 100644 --- a/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt +++ b/libraries/tools/kotlin-stdlib-gen/src/templates/Filtering.kt @@ -277,11 +277,7 @@ object Filtering : TemplateGroupBase() { val size = size if (n >= size) return toList() if (n == 1) return listOf(this[size - 1]) - - val list = ArrayList(n) - for (index in size - n until size) - list.add(this[index]) - return list + return copyOfRange(size - n, size).asList() """ } body(Lists) {