Introduce FirInitializerTypeMismatchChecker

This commit is contained in:
vldf
2021-03-01 19:29:59 +03:00
committed by Mikhail Glukhikh
parent 7ed35e5c2b
commit 24f1f1221e
114 changed files with 647 additions and 285 deletions
@@ -18,7 +18,7 @@ fun test1() {
bar("", 1, ::fooTakeString).checkType { _<Pair<String, Int>>() }
bar("", "", ::fooReturnInt).checkType { <!INAPPLICABLE_CANDIDATE!>_<!><Pair<String, Any>>() }
val x: String = bar("", "", ::fooReturnInt)
val x: String = <!INITIALIZER_TYPE_MISMATCH!>bar("", "", ::fooReturnInt)<!>
baz(Int::toString, ::foo).checkType { _<Pair<Int, String>>() }
}
@@ -30,8 +30,8 @@ fun <T> test(x: T) {
baz(null, null, ::foo)
val s3: Pair<Int, String?> = bar(null, null, ::foo)
val s4: Pair<Int?, String> = bar(null, null, ::foo)
val s4: Pair<Int?, String> = <!INITIALIZER_TYPE_MISMATCH!>bar(null, null, ::foo)<!>
val s5: Pair<Int, String> = bar(1, "", ::foo)
val s5: Pair<Int, String> = <!INITIALIZER_TYPE_MISMATCH!>bar(1, "", ::foo)<!>
val (a1: Int, b1: String) = <!COMPONENT_FUNCTION_RETURN_TYPE_MISMATCH!>bar(1, "", ::foo)<!>
}
@@ -17,7 +17,7 @@ fun test1() {
baz<String>(::foo).checkType { _<String?>() }
baz<Boolean>(::foo).checkType { _<Boolean?>() }
val b1: Int = baz(::<!UNRESOLVED_REFERENCE!>foo<!>)
val b2: String = baz(::<!UNRESOLVED_REFERENCE!>foo<!>)
val b3: Boolean = baz(::<!UNRESOLVED_REFERENCE!>foo<!>)
val b1: Int = <!INITIALIZER_TYPE_MISMATCH!>baz(::<!UNRESOLVED_REFERENCE!>foo<!>)<!>
val b2: String = <!INITIALIZER_TYPE_MISMATCH!>baz(::<!UNRESOLVED_REFERENCE!>foo<!>)<!>
val b3: Boolean = <!INITIALIZER_TYPE_MISMATCH!>baz(::<!UNRESOLVED_REFERENCE!>foo<!>)<!>
}