Call chain --> Sequence: take termination into account

Related to KT-15476
This commit is contained in:
Toshiaki Kameyama
2018-07-02 13:20:26 +03:00
committed by Mikhail Glukhikh
parent 108dea5b46
commit 7e28cb1fe3
146 changed files with 1117 additions and 72 deletions
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val all: Boolean = list.<caret>filter { it > 1 }.all { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val all: Boolean = list.asSequence().filter { it > 1 }.all { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val any: Boolean = list.<caret>filter { it > 1 }.any()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val any: Boolean = list.asSequence().filter { it > 1 }.any()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val asIterable: Iterable<Int> = list.<caret>filter { it > 1 }.asIterable()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val asIterable: Iterable<Int> = list.asSequence().filter { it > 1 }.asIterable()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val asSequence: Sequence<Int> = list.<caret>filter { it > 1 }.asSequence()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val asSequence: Sequence<Int> = list.asSequence().filter { it > 1 }.asSequence()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associate: Map<Int, Int> = list.<caret>filter { it > 1 }.associate { it to it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associate: Map<Int, Int> = list.asSequence().filter { it > 1 }.associate { it to it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateBy: Map<Int, Int> = list.<caret>filter { it > 1 }.associateBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateBy: Map<Int, Int> = list.asSequence().filter { it > 1 }.associateBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateByTo = list.<caret>filter { it > 1 }.associateByTo(mutableMapOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateByTo = list.asSequence().filter { it > 1 }.associateByTo(mutableMapOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateTo: MutableMap<Int, Int> = list.<caret>filter { it > 1 }.associateTo(mutableMapOf()) { it to it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val associateTo: MutableMap<Int, Int> = list.asSequence().filter { it > 1 }.associateTo(mutableMapOf()) { it to it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val average: Double = list.<caret>filter { it > 1 }.average()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val average: Double = list.asSequence().filter { it > 1 }.average()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val contains: Boolean = list.<caret>filter { it > 1 }.contains(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val contains: Boolean = list.asSequence().filter { it > 1 }.contains(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val count: Int = list.<caret>filter { it > 1 }.count()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val count: Int = list.asSequence().filter { it > 1 }.count()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAt = list.<caret>filter { it > 1 }.elementAt(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAt = list.asSequence().filter { it > 1 }.elementAt(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAtOrElse: Int = list.<caret>filter { it > 1 }.elementAtOrElse(1) { 1 }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAtOrElse: Int = list.asSequence().filter { it > 1 }.elementAtOrElse(1) { 1 }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAtOrNull: Int? = list.<caret>filter { it > 1 }.elementAtOrNull(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val elementAtOrNull: Int? = list.asSequence().filter { it > 1 }.elementAtOrNull(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterIndexedTo: MutableList<Int> = list.<caret>filter { it > 1 }.filterIndexedTo(mutableListOf()) { index, it -> true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterIndexedTo: MutableList<Int> = list.asSequence().filter { it > 1 }.filterIndexedTo(mutableListOf()) { index, it -> true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterIsInstanceTo = list.<caret>filter { it > 1 }.filterIsInstanceTo(mutableListOf<Int>())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterIsInstanceTo = list.asSequence().filter { it > 1 }.filterIsInstanceTo(mutableListOf<Int>())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterNotNullTo: MutableList<Int> = list.<caret>filter { it > 1 }.filterNotNullTo(mutableListOf())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterNotNullTo: MutableList<Int> = list.asSequence().filter { it > 1 }.filterNotNullTo(mutableListOf())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterNotTo: MutableList<Int> = list.<caret>filter { it > 1 }.filterNotTo(mutableListOf()) { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterNotTo: MutableList<Int> = list.asSequence().filter { it > 1 }.filterNotTo(mutableListOf()) { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterTo: MutableList<Int> = list.<caret>filter { it > 1 }.filterTo(mutableListOf()) { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val filterTo: MutableList<Int> = list.asSequence().filter { it > 1 }.filterTo(mutableListOf()) { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val find: Int? = list.<caret>filter { it > 1 }.find { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val find: Int? = list.asSequence().filter { it > 1 }.find { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val findLast: Int? = list.<caret>filter { it > 1 }.findLast { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val findLast: Int? = list.asSequence().filter { it > 1 }.findLast { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val first: Int = list.<caret>filter { it > 1 }.first()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val first: Int = list.asSequence().filter { it > 1 }.first()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val firstOrNull: Int? = list.<caret>filter { it > 1 }.firstOrNull()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val firstOrNull: Int? = list.asSequence().filter { it > 1 }.firstOrNull()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val fold: Int = list.<caret>filter { it > 1 }.fold(0) { acc, i -> acc + i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val fold: Int = list.asSequence().filter { it > 1 }.fold(0) { acc, i -> acc + i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val foldIndexed = list.<caret>filter { it > 1 }.foldIndexed(0) { index, acc, i -> acc + i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val foldIndexed = list.asSequence().filter { it > 1 }.foldIndexed(0) { index, acc, i -> acc + i }
}
@@ -0,0 +1,6 @@
// PROBLEM: none
// WITH_RUNTIME
fun test(list: List<Int>) {
val forEach: Unit = list.<caret>filter { it > 1 }.forEach { }
}
@@ -0,0 +1,6 @@
// PROBLEM: none
// WITH_RUNTIME
fun test(list: List<Int>) {
val forEachIndexed: Unit = list.<caret>filter { it > 1 }.forEachIndexed { index, i -> }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupBy = list.<caret>filter { it > 1 }.groupBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupBy = list.asSequence().filter { it > 1 }.groupBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupByTo: MutableMap<Int, MutableList<Int>> = list.<caret>filter { it > 1 }.groupByTo(mutableMapOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupByTo: MutableMap<Int, MutableList<Int>> = list.asSequence().filter { it > 1 }.groupByTo(mutableMapOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupingBy: Grouping<Int, Int> = list.<caret>filter { it > 1 }.groupingBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val groupingBy: Grouping<Int, Int> = list.asSequence().filter { it > 1 }.groupingBy { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOf: Int = list.<caret>filter { it > 1 }.indexOf(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOf: Int = list.asSequence().filter { it > 1 }.indexOf(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOfFirst: Int = list.<caret>filter { it > 1 }.indexOfFirst { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOfFirst: Int = list.asSequence().filter { it > 1 }.indexOfFirst { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOfLast: Int = list.<caret>filter { it > 1 }.indexOfLast { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val indexOfLast: Int = list.asSequence().filter { it > 1 }.indexOfLast { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val joinTo: StringBuilder = list.<caret>filter { it > 1 }.joinTo(StringBuilder())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val joinTo: StringBuilder = list.asSequence().filter { it > 1 }.joinTo(StringBuilder())
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val joinToString: String = list.<caret>filter { it > 1 }.joinToString()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val joinToString: String = list.asSequence().filter { it > 1 }.joinToString()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val last: Int = list.<caret>filter { it > 1 }.last()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val last: Int = list.asSequence().filter { it > 1 }.last()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val lastIndexOf: Int = list.<caret>filter { it > 1 }.lastIndexOf(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val lastIndexOf: Int = list.asSequence().filter { it > 1 }.lastIndexOf(1)
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val lastOrNull = list.<caret>filter { it > 1 }.lastOrNull()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val lastOrNull = list.asSequence().filter { it > 1 }.lastOrNull()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapIndexedNotNullTo: MutableList<Int> = list.<caret>filter { it > 1 }.mapIndexedNotNullTo(mutableListOf()) { index, i -> i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapIndexedNotNullTo: MutableList<Int> = list.asSequence().filter { it > 1 }.mapIndexedNotNullTo(mutableListOf()) { index, i -> i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapIndexedTo: MutableList<Int> = list.<caret>filter { it > 1 }.mapIndexedTo(mutableListOf()) { index, i -> i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapIndexedTo: MutableList<Int> = list.asSequence().filter { it > 1 }.mapIndexedTo(mutableListOf()) { index, i -> i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapNotNullTo: MutableList<Int> = list.<caret>filter { it > 1 }.mapNotNullTo(mutableListOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapNotNullTo: MutableList<Int> = list.asSequence().filter { it > 1 }.mapNotNullTo(mutableListOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapTo: MutableList<Int> = list.<caret>filter { it > 1 }.mapTo(mutableListOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val mapTo: MutableList<Int> = list.asSequence().filter { it > 1 }.mapTo(mutableListOf()) { it }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val max: Int? = list.<caret>filter { it > 1 }.max()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val max: Int? = list.asSequence().filter { it > 1 }.max()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxBy: Int? = list.<caret>filter { it > 1 }.maxBy { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxBy: Int? = list.asSequence().filter { it > 1 }.maxBy { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxWith: Int? = list.<caret>filter { it > 1 }.maxWith(Comparator { o1, o2 -> 0 })
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxWith: Int? = list.asSequence().filter { it > 1 }.maxWith(Comparator { o1, o2 -> 0 })
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val min: Int? = list.<caret>filter { it > 1 }.min()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val min: Int? = list.asSequence().filter { it > 1 }.min()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val minBy: Int? = list.<caret>filter { it > 1 }.minBy { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val minBy: Int? = list.asSequence().filter { it > 1 }.minBy { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxWith: Int? = list.<caret>filter { it > 1 }.maxWith(Comparator { o1, o2 -> 0 })
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val maxWith: Int? = list.asSequence().filter { it > 1 }.maxWith(Comparator { o1, o2 -> 0 })
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val none: Boolean = list.<caret>filter { it > 1 }.none()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val none: Boolean = list.asSequence().filter { it > 1 }.none()
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val partition: Pair<List<Int>, List<Int>> = list.<caret>filter { it > 1 }.partition { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val partition: Pair<List<Int>, List<Int>> = list.asSequence().filter { it > 1 }.partition { true }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val reduce: Int = list.<caret>filter { it > 1 }.reduce { acc, i -> acc + i }
}
@@ -0,0 +1,5 @@
// WITH_RUNTIME
fun test(list: List<Int>) {
val reduce: Int = list.asSequence().filter { it > 1 }.reduce { acc, i -> acc + i }
}

Some files were not shown because too many files have changed in this diff Show More