[FIR] Implement checker for value parameter default value type mismatch

#KT-58901 Fixed
This commit is contained in:
Kirill Rakhman
2023-06-22 13:33:09 +02:00
committed by Space Team
parent cfc824f9f2
commit 028921ade1
19 changed files with 152 additions and 37 deletions
@@ -8,7 +8,7 @@ annotation class Ann4(vararg val a: String = ["/"])
annotation class Ann5(vararg val a: Ann4 = [])
annotation class Ann6(vararg val a: Ann4 = [Ann4(*["a", "b"])])
annotation class Ann7(vararg val a: Long = [1L, null, ""])
annotation class Ann7(vararg val a: Long = <!INITIALIZER_TYPE_MISMATCH!>[1L, null, ""]<!>)
@Ann1(*[])
fun test1_0() {}
@@ -5,9 +5,9 @@ annotation class Foo(
)
annotation class Bar(
val a: Array<String> = [' '],
val a: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[' ']<!>,
val b: Array<String> = ["", <!EMPTY_CHARACTER_LITERAL!>''<!>],
val c: Array<String> = [1]
val c: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[1]<!>
)
annotation class Base(
@@ -18,6 +18,6 @@ annotation class Base(
)
annotation class Err(
val a: IntArray = [1L],
val b: Array<String> = [1]
val a: IntArray = <!INITIALIZER_TYPE_MISMATCH!>[1L]<!>,
val b: Array<String> = <!INITIALIZER_TYPE_MISMATCH!>[1]<!>
)
@@ -17,7 +17,7 @@ annotation class Bar(
)
annotation class Baz(
val a: IntArray = [null],
val b: IntArray = [1, null, 2],
val c: IntArray = [<!NO_THIS!>this<!>]
val a: IntArray = <!INITIALIZER_TYPE_MISMATCH!>[null]<!>,
val b: IntArray = <!INITIALIZER_TYPE_MISMATCH!>[1, null, 2]<!>,
val c: IntArray = <!INITIALIZER_TYPE_MISMATCH!>[<!NO_THIS!>this<!>]<!>
)