Minor optimization in MutableList.transformFlat

This commit is contained in:
Alexander Udalov
2019-04-15 13:43:35 +03:00
parent 945e058586
commit edaff968ad
@@ -38,14 +38,16 @@ inline fun <T> MutableList<T>.transformFlat(transformation: (T) -> List<T>?) {
val transformed = transformation(item) val transformed = transformation(item)
if (transformed == null) { when (transformed?.size) {
i++ null -> i++
continue 0 -> removeAt(i)
1 -> set(i++, transformed.first())
else -> {
addAll(i, transformed)
i += transformed.size
removeAt(i)
}
} }
addAll(i, transformed)
i += transformed.size
removeAt(i)
} }
} }