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:
@@ -3,7 +3,7 @@
|
||||
|
||||
package kt1875
|
||||
|
||||
fun foo(a : Int?, b : Int.(Int)->Int) = a?.<!UNRESOLVED_REFERENCE!>b<!>(1) //unnecessary safe call warning
|
||||
fun foo(a : Int?, b : Int.(Int)->Int) = a?.b(1) //unnecessary safe call warning
|
||||
|
||||
interface T {
|
||||
val f : ((i: Int) -> Unit)?
|
||||
|
||||
@@ -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 = "")
|
||||
}
|
||||
Reference in New Issue
Block a user