FIR: Run callable references resolution for synthetic-select calls

This commit is contained in:
Denis Zharkov
2020-02-11 13:16:27 +03:00
parent 003aea2e68
commit 5a2cdfcab4
15 changed files with 82 additions and 45 deletions
@@ -6,18 +6,18 @@ fun <T> bar(x: T): T = TODO()
fun nullableFun(): ((Int) -> Int)? = null
fun test() {
val x1: (Int) -> Int = bar(if (true) <!UNRESOLVED_REFERENCE!>::baz<!> else <!UNRESOLVED_REFERENCE!>::baz<!>)
val x2: (Int) -> Int = bar(nullableFun() ?: <!UNRESOLVED_REFERENCE!>::baz<!>)
val x3: (Int) -> Int = bar(::baz ?: <!UNRESOLVED_REFERENCE!>::baz<!>)
val x1: (Int) -> Int = bar(if (true) ::baz else ::baz)
val x2: (Int) -> Int = bar(nullableFun() ?: ::baz)
val x3: (Int) -> Int = bar(::baz ?: ::baz)
val i = 0
val x4: (Int) -> Int = bar(when (i) {
10 -> <!UNRESOLVED_REFERENCE!>::baz<!>
20 -> <!UNRESOLVED_REFERENCE!>::baz<!>
else -> <!UNRESOLVED_REFERENCE!>::baz<!>
10 -> ::baz
20 -> ::baz
else -> ::baz
})
val x5: (Int) -> Int = bar(<!UNRESOLVED_REFERENCE!>::baz<!>!!)
val x5: (Int) -> Int = bar(::baz!!)
<!UNRESOLVED_REFERENCE!>(if (true) <!UNRESOLVED_REFERENCE!>::baz<!> else <!UNRESOLVED_REFERENCE!>::baz<!>)(1)<!>
}
(if (true) ::baz else ::baz)(1)
}