[FIR] Consider Nothing? as null constant in DFA, ^KT-44561 Fixed

This commit is contained in:
Ivan Kochurkin
2021-12-15 19:26:07 +03:00
committed by teamcity
parent 68f3ab2622
commit 84927e10b0
19 changed files with 926 additions and 922 deletions
@@ -48,68 +48,68 @@ fun case_4(x: Number?) {
// TESTCASE NUMBER: 5
fun case_5(x: Char?, y: Nothing?) {
if (x != y) else throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char? & kotlin.Char")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 6
fun case_6(x: Object?) {
if (x !== implicitNullableNothingProperty) else { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object? & Object")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 7
fun case_7(x: Class?) {
if (x === implicitNullableNothingProperty || false || false || false) { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class? & Class")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 8
fun case_8(x: Int?) {
if (false || false || false || x == nullableNothingProperty) throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x<!><!UNSAFE_CALL!>.<!>inv()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int? & kotlin.Int")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int? & kotlin.Int")!>x<!>.inv()
}
// TESTCASE NUMBER: 9
fun case_9(x: String?) {
if (x != implicitNullableNothingProperty && true && true && true) else { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String? & kotlin.String")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 10
@@ -190,68 +190,68 @@ fun case_14(x: MutableCollection<in Number>?) {
// TESTCASE NUMBER: 15
fun case_15(x: MutableCollection<out Nothing?>?, y: Nothing?) {
if (x != y) else throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>? & kotlin.collections.MutableCollection<out kotlin.Nothing?>")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 16
fun case_16(x: Collection<Collection<Collection<Collection<Collection<Collection<Collection<*>>>>>>>?) {
if (x !== implicitNullableNothingProperty) else { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>? & kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<kotlin.collections.Collection<*>>>>>>>")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 17
fun case_17(x: MutableMap<*, *>?) {
if (x === implicitNullableNothingProperty || false) { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>? & kotlin.collections.MutableMap<*, *>")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 18
fun case_18(x: MutableMap<out Number, in Number>?) {
if (false || false || false || x == nullableNothingProperty) throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>? & kotlin.collections.MutableMap<out kotlin.Number, in kotlin.Number>")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 19
fun case_19(x: Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Int>>>>>>>?) {
if (x === implicitNullableNothingProperty && true) else { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in kotlin.Int>>>>>>>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in kotlin.Int>>>>>>>?")!>x<!>.hashCode()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in kotlin.Int>>>>>>>? & kotlin.Nothing?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in Inv<in kotlin.Int>>>>>>>? & kotlin.Nothing?")!>x<!>.hashCode()
}
// TESTCASE NUMBER: 20
@@ -317,29 +317,29 @@ fun <T> case_23(x: Inv<in T>?) {
// TESTCASE NUMBER: 24
fun <T> case_24(x: Inv<out T?>?, y: Nothing?) {
if (x !== y && true) else throw Exception()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funNullableAny()
}
// TESTCASE NUMBER: 25
fun <T> case_25(x: Inv<out T?>?, y: Nothing?) {
if (x !== y) else try { throw Exception() } finally { throw Exception() }
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!><!UNSAFE_CALL!>.<!>funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.funNullableAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funAny()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>? & Inv<out T?>")!>x<!>.funNullableAny()
}