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:
committed by
Alexander Udalov
parent
f0238766df
commit
7d59c7689c
+1
-1
@@ -3,7 +3,7 @@ fun box(): String {
|
||||
x = "OK"
|
||||
{
|
||||
val y = x
|
||||
}()
|
||||
}.let { it() }
|
||||
return x
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -3,14 +3,14 @@ class Foo {
|
||||
lateinit var x: String
|
||||
|
||||
fun test() {
|
||||
consume({ x }());
|
||||
{ consume(x) }()
|
||||
consume({ x }.let { it() });
|
||||
{ consume(x) }.let { it() }
|
||||
}
|
||||
}
|
||||
|
||||
fun test2() {
|
||||
consume({ x }());
|
||||
{ consume(x) }()
|
||||
consume({ x }.let { it() });
|
||||
{ consume(x) }.let { it() }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ fun testLambdaResultExpression_throws(a: A) {
|
||||
A.V1 -> 1
|
||||
// else -> throw
|
||||
}
|
||||
}()
|
||||
}.let { it() }
|
||||
}
|
||||
|
||||
// JVM_TEMPLATES
|
||||
|
||||
Reference in New Issue
Block a user