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
@@ -12,7 +12,7 @@ fun case_1(x: Class?) {
// TESTCASE NUMBER: 2
fun case_2() {
var x: Class? = 10
var x: Class? = <!INITIALIZER_TYPE_MISMATCH!>10<!>
x!!
<!NONE_APPLICABLE!>x<!>(if (true) {x=null;0} else 0, <!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>
@@ -5,23 +5,23 @@
// TESTCASE NUMBER: 1
class Case1(val x: Any?) {
val y = x!!
val z: Any = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>
val z: Any = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?"), INITIALIZER_TYPE_MISMATCH!>x<!>
}
// TESTCASE NUMBER: 2
class Case2(val y: Any?): ClassWithCostructorParam(y!!) {
val z: Any = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>y<!>
val z: Any = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?"), INITIALIZER_TYPE_MISMATCH!>y<!>
}
// TESTCASE NUMBER: 3
class Case3(val y: Any?): ClassWithCostructorParam(y as Class) {
val z: Class = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>y<!>
val z: Class = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?"), INITIALIZER_TYPE_MISMATCH!>y<!>
}
// TESTCASE NUMBER: 4
class Case4(val y: Any?): ClassWithCostructorParam(y!!) {
init {
val z: Any = y
val z: Any = <!INITIALIZER_TYPE_MISMATCH!>y<!>
}
}
@@ -13,5 +13,5 @@ fun case_1() {
val strs = list as MutableList<String>
strs.add("two")
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableList<kotlin.String> & kotlin.collections.MutableList<kotlin.Int> & kotlin.collections.MutableList<kotlin.String>")!>list<!>
val s: String = <!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableList<kotlin.String> & kotlin.collections.MutableList<kotlin.Int> & kotlin.collections.MutableList<kotlin.String>")!>list<!>[0]
val s: String = <!INITIALIZER_TYPE_MISMATCH!><!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableList<kotlin.String> & kotlin.collections.MutableList<kotlin.Int> & kotlin.collections.MutableList<kotlin.String>")!>list<!>[0]<!>
}