[FIR] Properly resolve implicit invoke calls

#KT-41990 Fixed
This commit is contained in:
Dmitriy Novozhilov
2020-09-18 16:39:14 +03:00
parent a8e81e9ad1
commit 896103b94b
13 changed files with 81 additions and 16 deletions
@@ -0,0 +1,8 @@
// ISSUE: KT-41990
fun getLambda(): String.() -> Unit = null!!
fun String.test_1(s: String) {
getLambda()()
getLambda()(s)
}
@@ -0,0 +1,8 @@
FILE: kt41990.kt
public final fun getLambda(): R|kotlin/String.() -> kotlin/Unit| {
^getLambda Null(null)!!
}
public final fun R|kotlin/String|.test_1(s: R|kotlin/String|): R|kotlin/Unit| {
R|/getLambda|().R|FakeOverride<kotlin/Function1.invoke: R|kotlin/Unit|>|(this@R|/test_1|)
R|/getLambda|().R|FakeOverride<kotlin/Function1.invoke: R|kotlin/Unit|>|(R|<local>/s|)
}