Split or glue together checks for not null and is instance + more intelligent use of filter vs filterTo

#KT-14284 Fixed
 #KT-14286 Fixed
 #KT-14287 Fixed
 #KT-14303 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-10-17 16:27:01 +03:00
parent 53220b980e
commit 89099b93b1
41 changed files with 548 additions and 126 deletions
@@ -0,0 +1,11 @@
// WITH_RUNTIME
// INTENTION_TEXT: "Replace with 'indexOfFirst{}'"
// IS_APPLICABLE_2: false
fun f8_indexOfFirst_complex(value: String, list: List<Any?>):Int{
<caret>for ((i, any) in list.withIndex())
if (any != null)
if (any is String)
if (any == value)
return i
return -1
}
@@ -0,0 +1,6 @@
// WITH_RUNTIME
// INTENTION_TEXT: "Replace with 'indexOfFirst{}'"
// IS_APPLICABLE_2: false
fun f8_indexOfFirst_complex(value: String, list: List<Any?>):Int{
return list.indexOfFirst { it != null && it is String && it == value }
}