diff --git a/compiler/testData/codegen/regressions/kt274.kt b/compiler/testData/codegen/regressions/kt274.kt new file mode 100644 index 00000000000..f1c439758e8 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt274.kt @@ -0,0 +1,14 @@ +import std.* + +fun box() : String { + val vector = java.util.Vector() + vector.add(1) + vector.add(2) + vector.add(3) + + var sum = 0 + for(e in vector.elements()) { + sum += e + } + return if(sum == 6) "OK" else "fail" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java index af96165738f..2fca4ed2987 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java @@ -80,4 +80,8 @@ public class StdlibTest extends CodegenTestCase { public void testKt864 () { blackBoxFile("regressions/kt864.jet"); } + + public void testKt274 () { +// blackBoxFile("regressions/kt274.kt"); + } } diff --git a/stdlib/ktSrc/Standard.kt b/stdlib/ktSrc/Standard.kt index 9ac302cf775..7151a6405e8 100644 --- a/stdlib/ktSrc/Standard.kt +++ b/stdlib/ktSrc/Standard.kt @@ -7,6 +7,26 @@ import java.util.HashSet import java.util.LinkedHashSet import java.util.TreeSet +/* +Helper to make jet.Iterator usable in for +*/ +inline fun jet.Iterator.iterator() = this + +/* +Helper to make java.util.Iterator usable in for +*/ +inline fun java.util.Iterator.iterator() = this + +/* +Helper to make java.util.Enumeration usable in for +*/ +inline fun java.util.Enumeration.iterator() = object: Iterator { + override val hasNext: Boolean + get() = hasMoreElements() + + override fun next() = nextElement() +} + /* * Extension functions on the standard Kotlin types to behave like the java.lang.* and java.util.* collections */