[FIR] Fix inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties

^KT-51203 Fixed
This commit is contained in:
Ivan Kochurkin
2022-03-17 16:34:19 +03:00
committed by teamcity
parent 4617615fd9
commit c6f52893fb
42 changed files with 82 additions and 77 deletions
@@ -11,8 +11,8 @@ fun main() {
val a0: () -> Int = <!INITIALIZER_TYPE_MISMATCH!>fun(): String = "1"<!>
val a1: () -> Int = <!INITIALIZER_TYPE_MISMATCH!>(fun() = "1")<!>
val a2: () -> Unit = (fun() = "1")
val a3: Unit = <!INITIALIZER_TYPE_MISMATCH!>(fun() = "1")<!>
val a2: () -> Unit = (fun() = <!RETURN_TYPE_MISMATCH!>"1"<!>)
val a3: Unit = <!INITIALIZER_TYPE_MISMATCH!>(fun() = <!RETURN_TYPE_MISMATCH!>"1"<!>)<!>
val a4 = (fun() = "1")
val a5 = (fun(): String = "1")
val a6: () -> Int = (fun() = 1)
@@ -5,7 +5,7 @@ val a: () -> Int = <!INITIALIZER_TYPE_MISMATCH!>l@ {
}<!>
val b: () -> Unit = l@ {
if (flag) return@l 4
if (flag) return@l <!RETURN_TYPE_MISMATCH!>4<!>
}
val c: () -> Any = l@ {
@@ -1,6 +0,0 @@
val flag = true
val a = b@ {
if (flag) return@b 4
return@b
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
val flag = true
val a = b@ {
@@ -1,6 +1,6 @@
fun test(a: Int) {
run<Int>f@{
if (a > 0) return@f <!ARGUMENT_TYPE_MISMATCH!>""<!>
if (a > 0) return@f <!ARGUMENT_TYPE_MISMATCH, RETURN_TYPE_MISMATCH!>""<!>
return@f 1
}