FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE

To do so, inside the root cause of inapplicable candidate errors,
we will record expected/actual type of receiver, if any.
That will help identifying inapplicable calls on nullable receiver.
This commit is contained in:
Jinseong Jeon
2021-01-26 16:03:27 -08:00
committed by Mikhail Glukhikh
parent 4b823eca21
commit e72ddbcbfe
275 changed files with 1426 additions and 1388 deletions
@@ -50,13 +50,13 @@ fun case_4(x: Number?) {
fun case_5(x: Char?, y: Nothing?) {
if (x != y) else return
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -65,13 +65,13 @@ fun case_5(x: Char?, y: Nothing?) {
fun case_6(x: Object?) {
if (x !== implicitNullableNothingProperty) else { return }
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableAny()
}
@@ -80,13 +80,13 @@ fun case_6(x: Object?) {
fun case_7(x: Class?) {
if (x === implicitNullableNothingProperty || false || false || false) { return }
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableAny()
}
@@ -95,7 +95,7 @@ fun case_7(x: Class?) {
fun case_8(x: Int?) {
if (false || false || false || x == nullableNothingProperty) return
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>inv<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int?")!>x<!>.<!UNSAFE_CALL!>inv<!>()
}
// TESTCASE NUMBER: 9
@@ -104,11 +104,11 @@ fun case_9(x: String?) {
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -192,13 +192,13 @@ fun case_14(x: MutableCollection<in Number>?) {
fun case_15(x: MutableCollection<out Nothing?>?, y: Nothing?) {
if (x != y) else return
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -207,13 +207,13 @@ fun case_15(x: MutableCollection<out Nothing?>?, y: Nothing?) {
fun case_16(x: Collection<Collection<Collection<Collection<Collection<Collection<Collection<*>>>>>>>?) {
if (x !== implicitNullableNothingProperty) else { return }
<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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()
}
@@ -222,13 +222,13 @@ fun case_16(x: Collection<Collection<Collection<Collection<Collection<Collection
fun case_17(x: MutableMap<*, *>?) {
if (x === implicitNullableNothingProperty || false) { return }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -237,13 +237,13 @@ fun case_17(x: MutableMap<*, *>?) {
fun case_18(x: MutableMap<out Number, in Number>?) {
if (false || false || false || x == nullableNothingProperty) return
<!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<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -319,13 +319,13 @@ fun <T> case_23(x: Inv<in T>?) {
fun <T> case_24(x: Inv<out T?>?, y: Nothing?) {
if (x !== y && true) else return
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -384,13 +384,13 @@ fun case_28(x: Number?) {
fun case_29(x: Char?, y: Nothing?) = l@ {
if (x != y) else return@l
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Char?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}
@@ -400,13 +400,13 @@ fun case_30(x: Object?): Any {
return (l@ {
if (x !== implicitNullableNothingProperty) else { return@l }
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Object?")!>x<!>.funNullableAny()
})()
@@ -417,13 +417,13 @@ fun case_31(x: Class?): Any {
return l@ {
if (x === implicitNullableNothingProperty || false || false || false) { return@l }
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("Class?")!>x<!>.funNullableAny()
}
@@ -434,13 +434,13 @@ fun case_32(x: Any?) {
case_32((l@ {
if (false || false || false || x == nullableNothingProperty) return@l
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>propAny<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funNullableAny()
})())
@@ -451,13 +451,13 @@ fun case_33(x: Any?) {
case_33(l@ {
if (x != implicitNullableNothingProperty && true && true && true) else { return@l }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>equals<!>(null)
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>propAny<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propNullableT
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.propNullableAny
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.<!UNSAFE_CALL!>funAny<!>()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funNullableT()
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any?")!>x<!>.funNullableAny()
})
@@ -567,13 +567,13 @@ fun case_39(x: MutableCollection<out Nothing?>?, y: Nothing?) {
(l2@ {
if (x != y) else return@l2
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableCollection<out kotlin.Nothing?>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
})()
@@ -584,13 +584,13 @@ fun case_40(x: Collection<Collection<Collection<Collection<Collection<Collection
val z = (l@ {
if (x !== implicitNullableNothingProperty) else { return@l }
<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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<!>.<!INAPPLICABLE_CANDIDATE!>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<!>.<!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()
})()
@@ -601,13 +601,13 @@ fun case_41(x: MutableMap<*, *>?) {
listOf(l@ {
if (x === implicitNullableNothingProperty || false) { return@l }
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.collections.MutableMap<*, *>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
})
@@ -618,13 +618,13 @@ fun case_42(x: MutableMap<out Number, in Number>?) {
return (l@ {
if (false || false || false || x == nullableNothingProperty) return@l
<!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<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
})()
@@ -712,13 +712,13 @@ fun <T> case_48(x: Inv<out T?>?, y: Nothing?) {
val y = ((((l@ {
if (x !== y && true) else return@l
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("Inv<out T?>?")!>x<!>.<!INAPPLICABLE_CANDIDATE!>equals<!>(null)
<!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<!>.<!INAPPLICABLE_CANDIDATE!>propAny<!>
<!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<!>.<!INAPPLICABLE_CANDIDATE!>funAny<!>()
<!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()
}))))