JVM IR: Avoid direct invokes in callable reference tests

Due to the direct invoke optimization, most callable reference tests
were not generating callable references/lambdas.
This commit is contained in:
Steven Schäfer
2022-06-13 14:49:49 +02:00
committed by Alexander Udalov
parent f0238766df
commit 7d59c7689c
123 changed files with 216 additions and 208 deletions
+3 -3
View File
@@ -1,13 +1,13 @@
fun <T : Any, R> T.let(f: (T) -> R): R = f(this)
fun <T : Any, R> T.myLet(f: (T) -> R): R = f(this)
fun box(): String {
val o: String? = null
var state = 0
o?.let {
o?.myLet {
state = 1
} ?: ({ state = 2 })()
} ?: { state = 2 }.let { it() }
if (state != 2) return "Fail: $state"
return "OK"
+2 -2
View File
@@ -30,11 +30,11 @@ fun box(): String {
val tmp = Unit
{
}()
}.let { it() }
val tmp2 = {
}()
}.let { it() }
val tmp3 = Blumbs()
tmp3.t = Unit