Keep inline transformation invariant: all captured parameters stored in topmost lambda/object

Fix for KT-8668: java.lang.ClassFormatError: Duplicate field name&signature (based on property access)

  #KT-8668 Fixed
This commit is contained in:
Michael Bogdanov
2015-11-18 11:56:33 +03:00
parent 93eb09a654
commit d4369c1df9
53 changed files with 1056 additions and 18 deletions
@@ -0,0 +1,22 @@
package test
interface A {
fun run()
}
class B(val o: String, val k: String) {
inline fun testNested(crossinline f: (String) -> Unit) {
object : A {
override fun run() {
f(o)
}
}.run()
}
inline fun test(crossinline f: (String) -> Unit) {
testNested { it -> { f(it + k) }() }
}
}