From adfce7e22d620970aa244d08e0e98ebc203970af Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Tue, 7 Feb 2012 16:40:14 +0200 Subject: [PATCH] KT-274 Enumeration.iterator() --- .../jet/codegen/ForTestCompileStdlib.java | 3 +++ .../org/jetbrains/jet/codegen/StdlibTest.java | 2 +- stdlib/ktSrc/Standard.kt | 2 +- testlib/test/EnymerationIteratorTest.kt | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 testlib/test/EnymerationIteratorTest.kt diff --git a/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java b/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java index 2a80b80bdc1..893acc6fbf2 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ForTestCompileStdlib.java @@ -29,6 +29,9 @@ import java.util.jar.JarOutputStream; public class ForTestCompileStdlib { private static File stdlibJarFile; + private ForTestCompileStdlib() { + } + private static File doCompile() throws Exception { File tmpDir = JetTestUtils.tmpDir("stdlibjar"); diff --git a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java index a30b21daf79..1a06ad51d97 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/StdlibTest.java @@ -85,7 +85,7 @@ public class StdlibTest extends CodegenTestCase { } public void testKt274 () { -// blackBoxFile("regressions/kt274.kt"); + blackBoxFile("regressions/kt274.kt"); } //from ClassGenTest diff --git a/stdlib/ktSrc/Standard.kt b/stdlib/ktSrc/Standard.kt index 46dfa65f5dc..45c65e9888c 100644 --- a/stdlib/ktSrc/Standard.kt +++ b/stdlib/ktSrc/Standard.kt @@ -20,7 +20,7 @@ inline fun java.util.Iterator.iterator() = this /* Helper to make java.util.Enumeration usable in for */ -inline fun java.util.Enumeration.iterator(): Iterator = object: Iterator { +fun java.util.Enumeration.iterator(): Iterator = object: Iterator { override val hasNext: Boolean get() = hasMoreElements() diff --git a/testlib/test/EnymerationIteratorTest.kt b/testlib/test/EnymerationIteratorTest.kt new file mode 100644 index 00000000000..f50b9d5a961 --- /dev/null +++ b/testlib/test/EnymerationIteratorTest.kt @@ -0,0 +1,18 @@ + +import java.util.Vector +import junit.framework.TestCase +import stdhack.test.assertEquals + +class EnumerationIteratorTest() : TestCase() { + fun testIteration () { + val v = Vector() + for(i in 1..5) + v.add(i) + + var sum = 0 + for(k in v.elements()) + sum += k + + assertEquals(15, sum) + } +} \ No newline at end of file