d5aed62410
isLocalVariable added. Assignment / initialization analysis. Control whether a variable is changed in a loop at the beginning and at the end of the loop. Control whether a variable is captured in a closure. #KT-3175 Fixed. #KT-2266 Fixed. Tests for variable null safety and for variables is/as operations. Loop / closure / variable property tests are included. Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
15 lines
344 B
Kotlin
15 lines
344 B
Kotlin
// See also KT-7186
|
|
|
|
fun IntArray.forEachIndexed( op: (i: Int, value: Int) -> Unit) {
|
|
for (i in 0..this.size()-1)
|
|
op(i, this[i])
|
|
}
|
|
|
|
fun max(a: IntArray): Int? {
|
|
var maxI: Int? = null
|
|
a.forEachIndexed { i, value ->
|
|
if (maxI == null || value >= a[<!TYPE_MISMATCH!>maxI<!>])
|
|
maxI = i
|
|
}
|
|
return maxI
|
|
} |