Fix take method from iterating one extra element (KT-32024)

This commit is contained in:
Abduqodiri Qurbonzoda
2019-08-11 23:57:27 +03:00
parent 01a613dca4
commit 63895483fd
4 changed files with 32 additions and 32 deletions
@@ -4137,9 +4137,9 @@ public fun <T> Array<out T>.take(n: Int): List<T> {
var count = 0
val list = ArrayList<T>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4159,9 +4159,9 @@ public fun ByteArray.take(n: Int): List<Byte> {
var count = 0
val list = ArrayList<Byte>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4181,9 +4181,9 @@ public fun ShortArray.take(n: Int): List<Short> {
var count = 0
val list = ArrayList<Short>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4203,9 +4203,9 @@ public fun IntArray.take(n: Int): List<Int> {
var count = 0
val list = ArrayList<Int>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4225,9 +4225,9 @@ public fun LongArray.take(n: Int): List<Long> {
var count = 0
val list = ArrayList<Long>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4247,9 +4247,9 @@ public fun FloatArray.take(n: Int): List<Float> {
var count = 0
val list = ArrayList<Float>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4269,9 +4269,9 @@ public fun DoubleArray.take(n: Int): List<Double> {
var count = 0
val list = ArrayList<Double>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4291,9 +4291,9 @@ public fun BooleanArray.take(n: Int): List<Boolean> {
var count = 0
val list = ArrayList<Boolean>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -4313,9 +4313,9 @@ public fun CharArray.take(n: Int): List<Char> {
var count = 0
val list = ArrayList<Char>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -785,9 +785,9 @@ public fun <T> Iterable<T>.take(n: Int): List<T> {
var count = 0
val list = ArrayList<T>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list.optimizeReadOnlyList()
}
@@ -2103,9 +2103,9 @@ public fun UIntArray.take(n: Int): List<UInt> {
var count = 0
val list = ArrayList<UInt>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -2127,9 +2127,9 @@ public fun ULongArray.take(n: Int): List<ULong> {
var count = 0
val list = ArrayList<ULong>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -2151,9 +2151,9 @@ public fun UByteArray.take(n: Int): List<UByte> {
var count = 0
val list = ArrayList<UByte>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -2175,9 +2175,9 @@ public fun UShortArray.take(n: Int): List<UShort> {
var count = 0
val list = ArrayList<UShort>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
}
@@ -153,9 +153,9 @@ object Filtering : TemplateGroupBase() {
var count = 0
val list = ArrayList<T>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list.optimizeReadOnlyList()
"""
@@ -201,9 +201,9 @@ object Filtering : TemplateGroupBase() {
var count = 0
val list = ArrayList<T>(n)
for (item in this) {
if (count++ == n)
break
list.add(item)
if (++count == n)
break
}
return list
"""