FIR: Rework receivers processing in resolution

- Put extensionReceiver to candidate even if it's explicit (for sake of clarity)
- Split CheckReceiver (dispatch part should only check nullability)
This commit is contained in:
Denis Zharkov
2020-11-15 13:10:54 +03:00
parent e2099a0307
commit f97cc0b62d
40 changed files with 194 additions and 213 deletions
@@ -334,7 +334,7 @@ fun <T> case_24(x: Inv<out T?>?, y: Nothing?) {
fun case_25(x: Int?) {
val x = (l@ {
if (x == null) return@l
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Int & kotlin.Int?")!>x<!>.inv()
})()
}
@@ -660,7 +660,7 @@ fun case_44(x: Inv<out Inv<out Inv<out Inv<out Inv<out Inv<out Inv<out Number>>>
fun <T> case_45(x: T) {
val y = (l@ {
if (x == null) return@l
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T!!")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("T!! & T")!>x<!>.propAny
@@ -677,7 +677,7 @@ fun <T> case_45(x: T) {
fun <T> case_46(x: T?) {
(l@ {
if (x === null) return@l
<!DEBUG_INFO_EXPRESSION_TYPE("T?!! & T?!!")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T?!! & T?")!>x<!>
<!DEBUG_INFO_EXPRESSION_TYPE("T?!! & T?")!>x<!>.equals(null)
<!DEBUG_INFO_EXPRESSION_TYPE("T?!! & T?")!>x<!>.propT
<!DEBUG_INFO_EXPRESSION_TYPE("T?!! & T?")!>x<!>.propAny