Fix inline codegen on local functions inside inlined lambda

The problem was that anonymous classes wasn't regenerated
although they capture another anonymous class that is a subject
for regeneration

 #KT-8689 Fixed
This commit is contained in:
Denis Zharkov
2017-02-16 10:55:07 +03:00
parent dfb60ba4ac
commit e16b0524b6
7 changed files with 137 additions and 5 deletions
@@ -0,0 +1,27 @@
// FILE: 1.kt
package test
public inline fun myRun(block: () -> Unit) {
return block()
}
// FILE: 2.kt
//NO_CHECK_LAMBDA_INLINING
import test.*
fun box(): String {
var res = ""
myRun {
fun f1() {
res = "OK"
}
val x: () -> Unit = {
f1()
}
x()
}
return res
}