Multi-declarations supported in all flavours of for loops
(KT-2635 Support iteration with multiple range variable in JVM back-end) #KT-2635 Fixed
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(l : java.util.ArrayList<Long>): String {
|
||||
var s = ""
|
||||
for ((a, b) in l) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val l = java.util.ArrayList<Long>()
|
||||
l.add(0)
|
||||
l.add(1)
|
||||
l.add(2)
|
||||
val s = doTest(l)
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(l : java.util.ArrayList<Long>): String {
|
||||
var s = ""
|
||||
for ((a, b) in l) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val l = java.util.ArrayList<Long>()
|
||||
l.add(0)
|
||||
l.add(1)
|
||||
l.add(2)
|
||||
val s = doTest(l)
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(l : java.util.ArrayList<Long>): String {
|
||||
var s = ""
|
||||
for ((a, b) in l) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val l = java.util.ArrayList<Long>()
|
||||
l.add(0)
|
||||
l.add(1)
|
||||
l.add(2)
|
||||
val s = M().doTest(l)
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(l : java.util.ArrayList<Long>): String {
|
||||
var s = ""
|
||||
for ((a, b) in l) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val l = java.util.ArrayList<Long>()
|
||||
l.add(0)
|
||||
l.add(1)
|
||||
l.add(2)
|
||||
val s = M().doTest(l)
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0)..C(2)) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
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)
|
||||
}
|
||||
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 = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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"
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
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 M.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"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0)..C(2)) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0) rangeTo C(2)) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
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)
|
||||
}
|
||||
fun C.component1() = i + 1
|
||||
fun C.component2() = i + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0) rangeTo C(2)) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
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) rangeTo 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"
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
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 M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0) rangeTo 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"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0) rangeTo C(2)) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0 rangeTo 2) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0 rangeTo 2) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0 rangeTo 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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0 rangeTo 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"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong() rangeTo 2.toLong()) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong() rangeTo 2.toLong()) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong() rangeTo 2.toLong()) {
|
||||
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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong() rangeTo 2.toLong()) {
|
||||
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"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0).rangeTo(C(2))) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
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)
|
||||
}
|
||||
fun C.component1() = i + 1
|
||||
fun C.component2() = i + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0).rangeTo(C(2))) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
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).rangeTo(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"
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
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 M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0).rangeTo(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"
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
println(box())
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
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 component1() = i + 1
|
||||
fun component2() = i + 2
|
||||
fun rangeTo(c: C) = Range(this, c)
|
||||
}
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in C(0).rangeTo(C(2))) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.rangeTo(2)) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.rangeTo(2)) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.rangeTo(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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.rangeTo(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"
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
fun f(l : Long) {
|
||||
l rangeTo l
|
||||
}
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
|
||||
|
||||
//fun Long.component1() = this + 1
|
||||
//fun Long.component2() = this + 2
|
||||
//
|
||||
//fun doTest(): String {
|
||||
// var s = ""
|
||||
// for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
|
||||
// s += "$a:$b;"
|
||||
// }
|
||||
// return s
|
||||
//}
|
||||
//
|
||||
//fun box(): String {
|
||||
// val s = doTest()
|
||||
// return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
//}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
|
||||
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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong().rangeTo(2.toLong())) {
|
||||
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"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0..2) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0..2) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0..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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Int.component1() = this + 1
|
||||
fun Int.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0..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"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong()..2.toLong()) {
|
||||
s += "$a:$b;"
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong()..2.toLong()) {
|
||||
s += {"$a:$b;"}()
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val s = doTest()
|
||||
return if (s == "1:2;2:3;3:4;") "OK" else "fail: $s"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
|
||||
fun doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong()..2.toLong()) {
|
||||
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"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
class M {
|
||||
fun Long.component1() = this + 1
|
||||
fun Long.component2() = this + 2
|
||||
}
|
||||
|
||||
fun M.doTest(): String {
|
||||
var s = ""
|
||||
for ((a, b) in 0.toLong()..2.toLong()) {
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user