mirror of
https://github.com/github/codeql.git
synced 2025-12-24 04:36:35 +01:00
Kotlin: fix array iterator extraction to work outside of for loops
This commit is contained in:
@@ -2177,7 +2177,7 @@ open class KotlinFileExtractor(
|
||||
extractRawMethodAccess(getter, c, callable, parent, idx, enclosingStmt, listOf(), null, ext, typeArguments)
|
||||
}
|
||||
}
|
||||
isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "iterator") && c.origin == IrStatementOrigin.FOR_LOOP_ITERATOR -> {
|
||||
isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "iterator") -> {
|
||||
findTopLevelFunctionOrWarn("kotlin.jvm.internal.iterator", "kotlin.jvm.internal.ArrayIteratorKt", c)?.let { iteratorFn ->
|
||||
val dispatchReceiver = c.dispatchReceiver
|
||||
if (dispatchReceiver == null) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
| arrayIterators.kt:6:15:6:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
| arrayIterators.kt:7:15:7:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
| arrayIterators.kt:8:15:8:15 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
| arrayIterators.kt:10:16:10:25 | iterator(...) | iterator() | kotlin.Array<Integer> |
|
||||
| arrayIterators.kt:11:16:11:25 | iterator(...) | iterator() | kotlin.IntArray |
|
||||
| arrayIterators.kt:12:16:12:25 | iterator(...) | iterator() | kotlin.BooleanArray |
|
||||
| arrayIterators.kt:10:16:10:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
| arrayIterators.kt:11:16:11:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
| arrayIterators.kt:12:16:12:25 | iterator(...) | iterator(java.lang.Object[]) | kotlin.jvm.internal.ArrayIteratorKt |
|
||||
|
||||
Reference in New Issue
Block a user