[FIR] Resolve array literal argument for non-primitive-array parameter as arrayOf call in annotation calls

This allows us to properly complete array literals arguments of
annotation calls fixing several false-negative type mismatch errors
as well as enabling the inference of generic type arguments.

#KT-59581 Fixed
#KT-58883 Fixed
This commit is contained in:
Kirill Rakhman
2023-07-18 12:01:05 +02:00
committed by Space Team
parent e69b695efd
commit 97024d9ccb
14 changed files with 145 additions and 34 deletions
@@ -19,7 +19,7 @@ fun test_fun(s: String, arr: Array<String>) {
}
fun test_ann(s: String, arr: Array<String>) {
@Ann([""], x = 1)
@Ann(<!ARGUMENT_TYPE_MISMATCH!>[""]<!>, x = 1)
foo()
@Ann(*[""], x = 1)
foo()
@@ -19,7 +19,7 @@ fun test_fun(s: String, arr: Array<String>) {
}
fun test_ann(s: String, arr: Array<String>) {
@Ann([""], x = 1)
@Ann(<!ARGUMENT_TYPE_MISMATCH!>[""]<!>, x = 1)
foo()
@Ann(*[""], x = 1)
foo()