use kotlin Iterable/Iterator

instead of java Iterable/Iterator
in Kotlin code in tests
This commit is contained in:
Svetlana Isakova
2012-08-14 15:06:02 +04:00
parent 701295fc04
commit df93a26839
14 changed files with 25 additions and 30 deletions
@@ -16,7 +16,7 @@ fun box() : String {
} }
if(sum != 15) return "c5 failed" if(sum != 15) return "c5 failed"
val c1: java.lang.Iterable<Int> = MyCollection1() val c1: Iterable<Int> = MyCollection1()
sum = 0 sum = 0
for (el in c1) { for (el in c1) {
sum = sum + el!! sum = sum + el!!
@@ -77,15 +77,14 @@ fun box() : String {
return "OK" return "OK"
} }
class MyCollection1(): java.lang.Iterable<Int> { class MyCollection1(): Iterable<Int> {
override fun iterator(): java.util.Iterator<Int> = MyIterator() override fun iterator(): Iterator<Int> = MyIterator()
class MyIterator(): java.util.Iterator<Int> { class MyIterator(): Iterator<Int> {
var k : Int = 5 var k : Int = 5
override fun next() : Int = k-- override fun next() : Int = k--
override fun hasNext() = k > 0 override fun hasNext() = k > 0
override fun remove() {}
} }
} }
@@ -96,8 +95,7 @@ class MyCollection2(): Iterable<Int> {
var k : Int = 5 var k : Int = 5
override fun next() : Int = k-- override fun next() : Int = k--
override val hasNext : Boolean override fun hasNext() : Boolean = k > 0
get() = k > 0
} }
} }
@@ -108,8 +106,7 @@ class MyCollection3() {
var k : Int = 5 var k : Int = 5
fun next() : Int? = k-- fun next() : Int? = k--
val hasNext : Boolean fun hasNext() : Boolean = k > 0
get() = k > 0
} }
} }
@@ -2,8 +2,6 @@ package mask
import java.io.* import java.io.*
import java.util.* import java.util.*
import java.util.Iterator as It
import java.lang.Iterable as Itl
fun box() : String { fun box() : String {
val input = StringReader("/Users/abreslav/work/jet/docs/luhnybin/src/test") val input = StringReader("/Users/abreslav/work/jet/docs/luhnybin/src/test")
@@ -88,7 +88,7 @@ class Luhny() {
// fun Char.isDigit() = Character.isDigit(this) // fun Char.isDigit() = Character.isDigit(this)
fun java.lang.Iterable<Int>.sum(f : (index : Int, value : Int) -> Int) : Int { fun Iterable<Int>.sum(f : (index : Int, value : Int) -> Int) : Int {
var sum = 0 var sum = 0
var i = 0 var i = 0
for (d in this) { for (d in this) {
@@ -6,6 +6,6 @@ val test2 = javaClass<Iterator<Int>> ()
fun box(): String { fun box(): String {
if(test.getCanonicalName() != "java.lang.String") return "fail" if(test.getCanonicalName() != "java.lang.String") return "fail"
if(test2.getCanonicalName() != "jet.Iterator") return "fail" if(test2.getCanonicalName() != "java.util.Iterator") return "fail"
return "OK" return "OK"
} }
+4 -4
View File
@@ -2,8 +2,8 @@ trait ISized {
val size : Int val size : Int
} }
trait javaUtilIterator<T> : java.util.Iterator<T> { trait javaUtilIterator<T> : Iterator<T> {
override fun remove() : Unit { fun remove() : Unit {
throw UnsupportedOperationException() throw UnsupportedOperationException()
} }
} }
@@ -16,14 +16,14 @@ class MyIterator<T>(val array : ReadOnlyArray<T>) : javaUtilIterator<T> {
override fun next() : T = array.get(index++) override fun next() : T = array.get(index++)
} }
trait ReadOnlyArray<out T> : ISized, java.lang.Iterable<T> { trait ReadOnlyArray<out T> : ISized, Iterable<T> {
fun get(index : Int) : T fun get(index : Int) : T
class Default { class Default {
fun check(v: Any) = v is T fun check(v: Any) = v is T
} }
override fun iterator() : java.util.Iterator<T> = MyIterator<T>(this) override fun iterator() : Iterator<T> = MyIterator<T>(this)
} }
trait WriteOnlyArray<in T> : ISized { trait WriteOnlyArray<in T> : ISized {
@@ -13,4 +13,4 @@ fun arrayList<T>(vararg <!UNUSED_PARAMETER!>values<!>: T) : ArrayList<T> {<!NO_R
fun <T, R> Collection<T>.map(<!UNUSED_PARAMETER!>transform<!> : (T) -> R) : List<R> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!> fun <T, R> Collection<T>.map(<!UNUSED_PARAMETER!>transform<!> : (T) -> R) : List<R> {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
fun <T> java.lang.Iterable<T>.fold(<!UNUSED_PARAMETER!>initial<!>: T, <!UNUSED_PARAMETER!>operation<!>: (T, T) -> T): T {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!> fun <T> Iterable<T>.fold(<!UNUSED_PARAMETER!>initial<!>: T, <!UNUSED_PARAMETER!>operation<!>: (T, T) -> T): T {<!NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY!>}<!>
@@ -1,4 +1,4 @@
package test package test
public abstract class ClassWithTypePExtendsIterableP<P>() : java.lang.Iterable<P> { public abstract class ClassWithTypePExtendsIterableP<P>() : jet.Iterable<P> {
} }
@@ -1,6 +1,6 @@
namespace test namespace test
public abstract class test.ClassWithTypePExtendsIterableP</*0*/ P : jet.Any?> : java.lang.Iterable<P> { public abstract class test.ClassWithTypePExtendsIterableP</*0*/ P : jet.Any?> : jet.Iterable<P> {
public final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.ClassWithTypePExtendsIterableP<P> public final /*constructor*/ fun </*0*/ P : jet.Any?><init>(): test.ClassWithTypePExtendsIterableP<P>
public abstract override /*1*/ fun iterator(): java.util.Iterator<P>? public abstract override /*1*/ fun iterator(): jet.Iterator<P>
} }
@@ -1,3 +1,3 @@
package test package test
public open class ClassWithTypePRefNext<R : java.lang.Iterable<P>?, P>() : java.lang.Object() public open class ClassWithTypePRefNext<R : jet.Iterable<P>?, P>() : java.lang.Object()
@@ -1,5 +1,5 @@
namespace test namespace test
public open class test.ClassWithTypePRefNext</*0*/ R : java.lang.Iterable<P>?, /*1*/ P : jet.Any?> : java.lang.Object { public open class test.ClassWithTypePRefNext</*0*/ R : jet.Iterable<P>?, /*1*/ P : jet.Any?> : java.lang.Object {
public final /*constructor*/ fun </*0*/ R : java.lang.Iterable<P>?, /*1*/ P : jet.Any?><init>(): test.ClassWithTypePRefNext<R, P> public final /*constructor*/ fun </*0*/ R : jet.Iterable<P>?, /*1*/ P : jet.Any?><init>(): test.ClassWithTypePRefNext<R, P>
} }
@@ -6,7 +6,7 @@ public class InnerClassesInGeneric<P, Q> {
public class Inner { public class Inner {
} }
public class Inner2 extends Inner implements Iterable<P> { public class Inner2 extends Inner {
public java.util.Iterator<P> iterator() { public java.util.Iterator<P> iterator() {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@@ -4,8 +4,8 @@ public open class InnerClassesInGeneric<P, Q>() : java.lang.Object() {
public open class Inner() : java.lang.Object() { public open class Inner() : java.lang.Object() {
} }
public open class Inner2() : Inner(), java.lang.Iterable<P> { public open class Inner2() : Inner() {
override fun iterator() : java.util.Iterator<P>? { public open fun iterator() : jet.Iterator<P>? {
throw UnsupportedOperationException() throw UnsupportedOperationException()
} }
} }
@@ -5,8 +5,8 @@ public open class test.InnerClassesInGeneric</*0*/ P : jet.Any?, /*1*/ Q : jet.A
public open class test.InnerClassesInGeneric.Inner : java.lang.Object { public open class test.InnerClassesInGeneric.Inner : java.lang.Object {
public final /*constructor*/ fun <init>(): test.InnerClassesInGeneric.Inner public final /*constructor*/ fun <init>(): test.InnerClassesInGeneric.Inner
} }
public open class test.InnerClassesInGeneric.Inner2 : test.InnerClassesInGeneric.Inner, java.lang.Iterable<P> { public open class test.InnerClassesInGeneric.Inner2 : test.InnerClassesInGeneric.Inner {
public final /*constructor*/ fun <init>(): test.InnerClassesInGeneric.Inner2 public final /*constructor*/ fun <init>(): test.InnerClassesInGeneric.Inner2
public open override /*1*/ fun iterator(): java.util.Iterator<P>? public open fun iterator(): jet.Iterator<P>?
} }
} }
@@ -12,7 +12,7 @@ public open class test.ModalityOfFakeOverrides : java.util.AbstractList<jet.Stri
public open override /*1*/ fun get(/*0*/ p0: jet.Int): jet.String? public open override /*1*/ fun get(/*0*/ p0: jet.Int): jet.String?
public open override /*1*/ fun indexOf(/*0*/ p0: jet.Any?): jet.Int public open override /*1*/ fun indexOf(/*0*/ p0: jet.Any?): jet.Int
public open override /*1*/ fun isEmpty(): jet.Boolean public open override /*1*/ fun isEmpty(): jet.Boolean
public open override /*1*/ fun iterator(): java.util.Iterator<jet.String>? public open override /*1*/ fun iterator(): jet.Iterator<jet.String>?
public open override /*1*/ fun lastIndexOf(/*0*/ p0: jet.Any?): jet.Int public open override /*1*/ fun lastIndexOf(/*0*/ p0: jet.Any?): jet.Int
public open override /*1*/ fun listIterator(): java.util.ListIterator<jet.String>? public open override /*1*/ fun listIterator(): java.util.ListIterator<jet.String>?
public open override /*1*/ fun listIterator(/*0*/ p0: jet.Int): java.util.ListIterator<jet.String>? public open override /*1*/ fun listIterator(/*0*/ p0: jet.Int): java.util.ListIterator<jet.String>?