Prohibiting incorrect transformations of loops with expression-embedded break or continue + allowed "?: continue" pattern for mapNotNull

This commit is contained in:
Valentin Kipyatkov
2016-04-22 11:35:13 +03:00
parent cfc82c55c7
commit a6132c7db9
14 changed files with 195 additions and 7 deletions
@@ -0,0 +1,10 @@
// WITH_RUNTIME
// INTENTION_TEXT: "Replace with 'flatMap{}.mapNotNull{}.mapTo(){}'"
fun foo(list: List<String>, target: MutableList<String>) {
<caret>list
.flatMap { it.indices }
.mapNotNull { bar(it) }
.mapTo(target) { it.substring(1) }
}
fun bar(p: Int): String? = null