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
@@ -19,6 +19,6 @@ val test1 = generate {
yield(A)
}
val test2: Int = generate {
val test2: Int = <!INITIALIZER_TYPE_MISMATCH!>generate {
yield(A())
}
}<!>
@@ -18,7 +18,7 @@ public fun <K, V> Map<K, V>.get1(key: Any?): Int = null!!
public fun <<!HIDDEN!>@kotlin.internal.OnlyInputTypes<!> K, V> Map<out K, V>.get1(key: K): V? = null!!
fun test(map: Map<Int, String>) {
val a: Int = listOf(1).contains1("")
val a: Int = <!INITIALIZER_TYPE_MISMATCH!>listOf(1).contains1("")<!>
val b: Boolean = listOf(1).contains1(1)
val c: String? = map.get1("")
@@ -26,8 +26,8 @@ fun hashMapTest() {
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -50,8 +50,8 @@ fun treeMapTest() {
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -74,8 +74,8 @@ fun concurrentHashMapTest() {
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -23,11 +23,11 @@ fun hashMapTest() {
val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b5: Map<String, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b6: Int = x[""]
val b7: Int = x[null]
val b8: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x[null]<!>
val b8: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b9: Int? = x.get("")
}
@@ -48,10 +48,10 @@ fun treeMapTest() {
val b2: MutableMap<String?, Int> = x
val b3: Map<String?, Int> = x
val b4: Map<String?, Int?> = x
val b5: Map<String, Int?> = x
val b5: Map<String, Int?> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -19,14 +19,14 @@ fun hashMapTest() {
x[""] = nullableInt
x[""] = 1
val b1: MutableMap<String, Int> = x
val b1: MutableMap<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String, Int?> = x
val b3: Map<String, Int> = x
val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String, Int?> = x
val b5: Map<String?, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -43,14 +43,14 @@ fun treeMapTest() {
x[""] = nullableInt
x[""] = 1
val b1: MutableMap<String, Int> = x
val b1: MutableMap<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b2: MutableMap<String, Int?> = x
val b3: Map<String, Int> = x
val b3: Map<String, Int> = <!INITIALIZER_TYPE_MISMATCH!>x<!>
val b4: Map<String, Int?> = x
val b5: Map<String?, Int?> = x
val b6: Int = x[""]
val b7: Int = x.get("")
val b6: Int = <!INITIALIZER_TYPE_MISMATCH!>x[""]<!>
val b7: Int = <!INITIALIZER_TYPE_MISMATCH!>x.get("")<!>
val b8: Int? = x.get("")
}
@@ -13,5 +13,5 @@ fun test() {
}
fun test2() {
val f: Ext = {}
val f: Ext = <!INITIALIZER_TYPE_MISMATCH!>{}<!>
}
@@ -6,7 +6,7 @@ class ExcA : Exception()
class ExcB : Exception()
fun test2() {
val s: String? = try {
val s: String? = <!INITIALIZER_TYPE_MISMATCH!>try {
""
}
catch (e: ExcA) {
@@ -14,7 +14,7 @@ fun test2() {
}
catch (e: ExcB) {
10
}
}<!>
s<!UNSAFE_CALL!>.<!>length
}