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
@@ -1,11 +1,11 @@
class A(foo: Int.() -> Unit) {
init {
4.<!UNRESOLVED_REFERENCE!>foo<!>()
4.foo()
}
}
fun test(foo: Int.(String) -> Unit) {
4.<!UNRESOLVED_REFERENCE!>foo<!>("")
4.<!UNRESOLVED_REFERENCE!>foo<!>(p1 = "")
4.<!UNRESOLVED_REFERENCE!>foo<!>(p2 = "")
4.foo("")
4.<!INAPPLICABLE_CANDIDATE!>foo<!>(p1 = "")
4.foo(p2 = "")
}