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"
val c1: java.lang.Iterable<Int> = MyCollection1()
val c1: Iterable<Int> = MyCollection1()
sum = 0
for (el in c1) {
sum = sum + el!!
@@ -77,15 +77,14 @@ fun box() : String {
return "OK"
}
class MyCollection1(): java.lang.Iterable<Int> {
override fun iterator(): java.util.Iterator<Int> = MyIterator()
class MyCollection1(): Iterable<Int> {
override fun iterator(): Iterator<Int> = MyIterator()
class MyIterator(): java.util.Iterator<Int> {
class MyIterator(): Iterator<Int> {
var k : Int = 5
override fun next() : Int = k--
override fun hasNext() = k > 0
override fun remove() {}
}
}
@@ -96,8 +95,7 @@ class MyCollection2(): Iterable<Int> {
var k : Int = 5
override fun next() : Int = k--
override val hasNext : Boolean
get() = k > 0
override fun hasNext() : Boolean = k > 0
}
}
@@ -108,8 +106,7 @@ class MyCollection3() {
var k : Int = 5
fun next() : Int? = k--
val hasNext : Boolean
get() = k > 0
fun hasNext() : Boolean = k > 0
}
}
@@ -2,8 +2,6 @@ package mask
import java.io.*
import java.util.*
import java.util.Iterator as It
import java.lang.Iterable as Itl
fun box() : String {
val input = StringReader("/Users/abreslav/work/jet/docs/luhnybin/src/test")
@@ -88,7 +88,7 @@ class Luhny() {
// 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 i = 0
for (d in this) {
@@ -6,6 +6,6 @@ val test2 = javaClass<Iterator<Int>> ()
fun box(): String {
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"
}
+4 -4
View File
@@ -2,8 +2,8 @@ trait ISized {
val size : Int
}
trait javaUtilIterator<T> : java.util.Iterator<T> {
override fun remove() : Unit {
trait javaUtilIterator<T> : Iterator<T> {
fun remove() : Unit {
throw UnsupportedOperationException()
}
}
@@ -16,14 +16,14 @@ class MyIterator<T>(val array : ReadOnlyArray<T>) : javaUtilIterator<T> {
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
class Default {
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 {
@@ -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> 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
public abstract class ClassWithTypePExtendsIterableP<P>() : java.lang.Iterable<P> {
public abstract class ClassWithTypePExtendsIterableP<P>() : jet.Iterable<P> {
}
@@ -1,6 +1,6 @@
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 abstract override /*1*/ fun iterator(): java.util.Iterator<P>?
public abstract override /*1*/ fun iterator(): jet.Iterator<P>
}
@@ -1,3 +1,3 @@
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
public open class test.ClassWithTypePRefNext</*0*/ R : java.lang.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 open class test.ClassWithTypePRefNext</*0*/ R : jet.Iterable<P>?, /*1*/ P : jet.Any?> : java.lang.Object {
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 Inner2 extends Inner implements Iterable<P> {
public class Inner2 extends Inner {
public java.util.Iterator<P> iterator() {
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 Inner2() : Inner(), java.lang.Iterable<P> {
override fun iterator() : java.util.Iterator<P>? {
public open class Inner2() : Inner() {
public open fun iterator() : jet.Iterator<P>? {
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 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 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 indexOf(/*0*/ p0: jet.Any?): jet.Int
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 listIterator(): java.util.ListIterator<jet.String>?
public open override /*1*/ fun listIterator(/*0*/ p0: jet.Int): java.util.ListIterator<jet.String>?