Kotlin: fix for-loop iterators over primitive or wildcard types

Array<*> can't be queried for an argument type, and IntArray doesn't have an argument at all; both were previously causing the extractor to fail to extract the whole file due to throwing an exception.
This commit is contained in:
Chris Smowton
2022-07-18 12:52:17 +01:00
parent 4d0f6a0b96
commit 1cbe26a54f
4 changed files with 31 additions and 1 deletions

View File

@@ -0,0 +1,9 @@
| test.kt:5:14:5:14 | hasNext(...) |
| test.kt:5:14:5:14 | iterator(...) |
| test.kt:5:14:5:14 | next(...) |
| test.kt:6:14:6:14 | hasNext(...) |
| test.kt:6:14:6:14 | iterator(...) |
| test.kt:6:14:6:14 | next(...) |
| test.kt:7:14:7:14 | hasNext(...) |
| test.kt:7:14:7:14 | iterator(...) |
| test.kt:7:14:7:14 | next(...) |

View File

@@ -0,0 +1,11 @@
fun test(x: Array<String>, y: Array<*>, z: IntArray): Int {
var ret = 0
for (el in x) { ret += 1 }
for (el in y) { ret += 1 }
for (el in z) { ret += 1 }
return ret
}

View File

@@ -0,0 +1,4 @@
import java
from MethodAccess ma
select ma