// IGNORE_BACKEND: NATIVE // FILE: 1.kt // WITH_RUNTIME package test public class Input(val s1: String, val s2: String) { public fun iterator() : Iterator { return arrayListOf(s1, s2).iterator() } } public inline fun T.use(block: ()-> R) : R { return block() } public inline fun T.use2(block: ()-> R) : R { return block() } public inline fun Input.forEachLine(block: () -> Unit): Unit { use { use2 (block) } } // FILE: 2.kt import test.* import java.util.* fun sample(): Input { return Input("Hello", "World"); } fun testForEachLine() { val list = ArrayList() val reader = sample() reader.forEachLine{ list.add("111") } } fun box(): String { testForEachLine() return "OK" }