FIR: Support java array in type argument

^KT-37321 Fixed
This commit is contained in:
Denis Zharkov
2020-05-20 16:13:35 +03:00
parent 164b4dd439
commit 4d484dd971
16 changed files with 105 additions and 44 deletions
@@ -0,0 +1,19 @@
// FILE: DataKey.java
public class DataKey<T> {}
// FILE: Keys.java
public class Keys {
public static final DataKey<String[]> X = null;
public static final DataKey<String> Y = null;
public static <T> T getData(DataKey<T> key) {
return null;
}
}
// FILE: main.kt
fun main() {
// Keys.X type loaded as DataKey<error>
Keys.getData(Keys.X)[0].length
Keys.getData(Keys.Y).length
}
@@ -0,0 +1,5 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|Keys|.R|/Keys.getData|<R|ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!|>(Q|Keys|.R|/Keys.X|).R|FakeOverride<kotlin/Array.get: R|ft<kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData|<R|ft<kotlin/String, kotlin/String?>!|>(Q|Keys|.R|/Keys.Y|).R|kotlin/String.length|
}