Skip to content

Commit 7196fdd

Browse files
committed
Kotlin: fix array iterator extraction to work outside of for loops
1 parent af2614b commit 7196fdd

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2177,7 +2177,7 @@ open class KotlinFileExtractor(
21772177
extractRawMethodAccess(getter, c, callable, parent, idx, enclosingStmt, listOf(), null, ext, typeArguments)
21782178
}
21792179
}
2180-
isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "iterator") && c.origin == IrStatementOrigin.FOR_LOOP_ITERATOR -> {
2180+
isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "iterator") -> {
21812181
findTopLevelFunctionOrWarn("kotlin.jvm.internal.iterator", "kotlin.jvm.internal.ArrayIteratorKt", c)?.let { iteratorFn ->
21822182
val dispatchReceiver = c.dispatchReceiver
21832183
if (dispatchReceiver == null) {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
| arrayIterators.kt:6:15:6:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
22
| arrayIterators.kt:7:15:7:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
33
| arrayIterators.kt:8:15:8:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
4-
| arrayIterators.kt:10:16:10:25 | iterator(...) | iterator() | kotlin.Array<Integer> |
5-
| arrayIterators.kt:11:16:11:25 | iterator(...) | iterator() | kotlin.IntArray |
6-
| arrayIterators.kt:12:16:12:25 | iterator(...) | iterator() | kotlin.BooleanArray |
4+
| arrayIterators.kt:10:16:10:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
5+
| arrayIterators.kt:11:16:11:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
6+
| arrayIterators.kt:12:16:12:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |

0 commit comments

Comments
 (0)