JVM_IR KT-45103 optimize direct invoke for lambdas and callable refs

This commit is contained in:
Dmitry Petrov
2021-04-26 17:17:25 +03:00
committed by teamcityserver
parent bfb1a06f3d
commit 851980e36f
124 changed files with 1340 additions and 324 deletions
@@ -1,25 +1,25 @@
class A {
fun <T> eval(f: () -> T) = f()
private var foo = 1;
class A {
private var foo = 1
fun `access$getFoo$p`(a: A): Int = 1
fun `access$setFoo$p`(a: A, d: Int) {}
private fun getFoo() = 1;
private fun getFoo() = 1
private fun setFoo(i: Int) {}
fun `access$getFoo`(a: A): Int = 1
fun `access$setFoo`(a: A, d: Int) {}
fun test() {
{
foo = 2;
eval {
foo = 2
foo
}();
{
}
eval {
setFoo(2)
getFoo();
}()
getFoo()
}
}
}