FIR resolve: add partial support of extension lambda calls

Here we introduce ONLY_IMPLICIT_RECEIVER tower level
to support extension lambda calls on local variables,
and soften extension receiver checks to make such extensions visible & applicable.
Also here we try to map arguments twice for functional types
This commit is contained in:
Mikhail Glukhikh
2019-12-23 15:56:50 +03:00
parent 49e94f1ee3
commit de50f8aef3
65 changed files with 292 additions and 144 deletions
@@ -9,7 +9,7 @@ class OverloadTest {
object Literal
inline fun <T : Any> OverloadTest.overload(value: T?, function: OverloadTest.(T) -> Unit) {
if (value == null) foo(Literal) else <!INAPPLICABLE_CANDIDATE!>function<!>(value)
if (value == null) foo(Literal) else function(value)
}
// Overload resolution ambiguity