mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 00:21:47 +00:00
49 lines
781 B
Kotlin
Vendored
49 lines
781 B
Kotlin
Vendored
// IGNORE_BACKEND: NATIVE
|
|
// FILE: 1.kt
|
|
// WITH_RUNTIME
|
|
package test
|
|
|
|
public class Input(val s1: String, val s2: String) {
|
|
public fun iterator() : Iterator<String> {
|
|
return arrayListOf(s1, s2).iterator()
|
|
}
|
|
}
|
|
|
|
public inline fun <T, R> T.use(block: ()-> R) : R {
|
|
return block()
|
|
}
|
|
|
|
public inline fun <T, R> 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<String>()
|
|
val reader = sample()
|
|
|
|
reader.forEachLine{
|
|
list.add("111")
|
|
}
|
|
}
|
|
|
|
|
|
fun box(): String {
|
|
testForEachLine()
|
|
|
|
return "OK"
|
|
}
|