Added some tests on local classes in inline bodies

This commit is contained in:
Igor Chevdar
2020-03-26 12:58:40 +03:00
parent e2a378bed7
commit d808ef10b2
11 changed files with 272 additions and 0 deletions
@@ -0,0 +1,31 @@
// IGNORE_BACKEND: JVM
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR
// FILE: 1.kt
package test
inline fun <T> myRun(block: () -> T) = block()
// FILE: 2.kt
import test.*
interface IFoo {
fun foo(): String
}
class A(val x: String, f: () -> IFoo = {
val y = "K"
myRun {
val o = object: IFoo {
override fun foo() = x + y
}
o
}
}) {
val foo: IFoo = f()
}
fun box(): String {
return A("O").foo.foo()
}