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
+1 -1
View File
@@ -3,7 +3,7 @@
package qualified_expressions
fun test(s: IntRange?) {
val a: Int = s?.start
val a: Int = <error descr="[INITIALIZER_TYPE_MISMATCH] Initializer type mismatch: expected kotlin/Int, actual kotlin/Int?">s?.start</error>
val b: Int? = s?.start
val c: Int = s?.start ?: -11
val d: Int = s?.start ?: "empty"
+2 -2
View File
@@ -4,7 +4,7 @@ fun t1() : Int{
}
fun t1a() : Int {
return
<error descr="[RETURN_TYPE_MISMATCH] Return type mismatch: expected kotlin/Int, actual kotlin/Unit">return</error>
return 1
1
}
@@ -17,7 +17,7 @@ fun t1b() : Int {
fun t1c() : Int {
return 1
return
<error descr="[RETURN_TYPE_MISMATCH] Return type mismatch: expected kotlin/Int, actual kotlin/Unit">return</error>
1
}
+2 -2
View File
@@ -7,13 +7,13 @@ abstract class Producer<out T> {}
abstract class Usual<T> {}
fun foo(c: Consumer<Int>, p: Producer<Int>, u: Usual<Int>) {
val c1: Consumer<Any> = c
val c1: Consumer<Any> = <error descr="[INITIALIZER_TYPE_MISMATCH] Initializer type mismatch: expected variance/Consumer<kotlin/Any>, actual variance/Consumer<kotlin/Int>">c</error>
val c2: Consumer<Int> = c1
val p1: Producer<Any> = p
val p2: Producer<Int> = p1
val u1: Usual<Any> = u
val u1: Usual<Any> = <error descr="[INITIALIZER_TYPE_MISMATCH] Initializer type mismatch: expected variance/Usual<kotlin/Any>, actual variance/Usual<kotlin/Int>">u</error>
val u2: Usual<Int> = u1
}
+1 -1
View File
@@ -8,4 +8,4 @@ open class Bar() : <error descr="[OTHER_ERROR] Unknown (other) error">Foo</error
}
val x : Int = Foo()
val x : Int = <error descr="[INITIALIZER_TYPE_MISMATCH] Initializer type mismatch: expected kotlin/Int, actual Foo">Foo()</error>
+1 -1
View File
@@ -1,3 +1,3 @@
class A : <error descr="[OTHER_ERROR] Unknown (other) error">A</error>() {}
val x : Int = A()
val x : Int = <error descr="[INITIALIZER_TYPE_MISMATCH] Initializer type mismatch: expected kotlin/Int, actual A">A()</error>