[FIR] Resolve array literal with non-primitive-array expected type as arrayOf call
This lets us properly complete the call which fixes some issues with false-positive type mismatches. This change doesn't apply to array literals in annotation calls yet because they are resolved as context-dependent. This will be adapted in a following commit. #KT-59581
This commit is contained in:
committed by
Space Team
parent
4ead02271b
commit
ff6b3350ae
+7
-4
@@ -1,13 +1,16 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Foo(
|
||||
val a: Array<String> = ["/"],
|
||||
val b: Array<String> = [],
|
||||
val c: Array<String> = ["1", "2"]
|
||||
val c: Array<String> = ["1", "2"],
|
||||
val d: Array<KClass<*>> = [Int::class, Array<Int>::class],
|
||||
)
|
||||
|
||||
annotation class Bar(
|
||||
val a: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[' ']<!>,
|
||||
val a: Array<String> = <!TYPE_MISMATCH, TYPE_MISMATCH!>[' ']<!>,
|
||||
val b: Array<String> = ["", <!EMPTY_CHARACTER_LITERAL!>''<!>],
|
||||
val c: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[1]<!>
|
||||
val c: Array<String> = <!TYPE_MISMATCH, TYPE_MISMATCH!>[1]<!>
|
||||
)
|
||||
|
||||
annotation class Base(
|
||||
@@ -19,5 +22,5 @@ annotation class Base(
|
||||
|
||||
annotation class Err(
|
||||
val a: IntArray = <!INITIALIZER_TYPE_MISMATCH!>[1L]<!>,
|
||||
val b: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[1]<!>
|
||||
val b: Array<String> = <!TYPE_MISMATCH, TYPE_MISMATCH!>[1]<!>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user