FIR CFG: process called-in-place lambdas as loops
This commit is contained in:
Vendored
+16
@@ -0,0 +1,16 @@
|
||||
// See also KT-7186 and forEachSafe.kt
|
||||
// Custom `forEach` has no contract but the lambda is inline (not crossinline) so smart cast is safe
|
||||
|
||||
inline fun IntArray.forEachIndexed( op: (i: Int, value: Int) -> Unit) {
|
||||
for (i in 0..this.size)
|
||||
op(i, this[i])
|
||||
}
|
||||
|
||||
fun max(a: IntArray): Int? {
|
||||
var maxI: Int? = null
|
||||
a.forEachIndexed { i, value ->
|
||||
if (maxI == null || value >= a[maxI])
|
||||
maxI = i
|
||||
}
|
||||
return maxI
|
||||
}
|
||||
Reference in New Issue
Block a user