Checking type of the collection being iterated

This commit is contained in:
Valentin Kipyatkov
2016-05-11 22:26:51 +03:00
parent 89dab52a14
commit 394cce8e10
9 changed files with 96 additions and 4 deletions
+9
View File
@@ -0,0 +1,9 @@
// WITH_RUNTIME
fun foo(array: Array<String>): String? {
<caret>for (s in array) {
if (s.isNotBlank()) {
return s
}
}
return null
}
@@ -0,0 +1,4 @@
// WITH_RUNTIME
fun foo(array: Array<String>): String? {
<caret>return array.firstOrNull { it.isNotBlank() }
}
@@ -0,0 +1,16 @@
// IS_APPLICABLE: false
// WITH_RUNTIME
class X {
operator fun iterator(): Iterator<String>{
return emptyList<String>().iterator()
}
}
fun foo(x: X): String? {
<caret>for (s in x) {
if (s.isNotBlank()) {
return s
}
}
return null
}
+12
View File
@@ -0,0 +1,12 @@
// WITH_RUNTIME
import java.util.ArrayList
fun foo(array: IntArray): List<Int> {
val result = ArrayList<Int>()
<caret>for (i in array) {
if (i % 3 == 0) {
result.add(i)
}
}
return result
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
import java.util.ArrayList
fun foo(array: IntArray): List<Int> {
val result = array.filter { it % 3 == 0 }
return result
}
+12
View File
@@ -0,0 +1,12 @@
// WITH_RUNTIME
import java.util.*
fun foo(): List<Int> {
val result = ArrayList<Int>()
<caret>for (i in 1..10) {
if (i % 3 == 0) {
result.add(i)
}
}
return result
}
@@ -0,0 +1,7 @@
// WITH_RUNTIME
import java.util.*
fun foo(): List<Int> {
val <caret>result = (1..10).filter { it % 3 == 0 }
return result
}