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
+4 -4
View File
@@ -5,8 +5,8 @@ inline fun inlineFunWithInvoke(s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
s.invoke(11)
s invoke 11
11.<!UNRESOLVED_REFERENCE!>ext<!>(11)
11 <!UNRESOLVED_REFERENCE!>ext<!> 11
11.ext(11)
11 ext 11
}
inline fun inlineFunWithInvokeNonInline(noinline s: (p: Int) -> Unit, ext: Int.(p: Int) -> Unit) {
@@ -14,8 +14,8 @@ inline fun inlineFunWithInvokeNonInline(noinline s: (p: Int) -> Unit, ext: Int.(
s.invoke(11)
s invoke 11
11.<!UNRESOLVED_REFERENCE!>ext<!>(11)
11 <!UNRESOLVED_REFERENCE!>ext<!> 11
11.ext(11)
11 ext 11
}
inline fun Function1<Int, Unit>.inlineExt() {