Files
kotlin/compiler/testData/codegen/box/multiDecl/forRange/MultiDeclForComponentMemberExtensions.kt
Alexander Udalov 7ce62a5b64 Remove generated codegen tests, move all testData to box/
A single test file will be generated out of box/ directory
2013-01-28 18:20:21 +04:00

39 lines
626 B
Kotlin

class Range(val from : C, val to: C) {
fun iterator() = It(from, to)
}
class It(val from: C, val to: C) {
var c = from.i
fun next(): C {
val next = C(c)
c++
return next
}
fun hasNext(): Boolean = c <= to.i
}
class C(val i : Int) {
fun rangeTo(c: C) = Range(this, c)
}
class M {
fun C.component1() = i + 1
fun C.component2() = i + 2
fun doTest(): String {
var s = ""
for ((a, b) in C(0)..C(2)) {
s += "$a:$b;"
}
return s
}
}
fun box(): String {
val s = M().doTest()
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
}