make most codegen tests are indenendent from jdk-headers/stdlib now

This commit is contained in:
Stepan Koltsov
2012-05-01 23:49:22 +04:00
parent 518f50692f
commit 5e77ca553c
33 changed files with 232 additions and 176 deletions
+21 -12
View File
@@ -1,5 +1,3 @@
import java.util.ArrayList
class MyNumber(val i: Int) {
fun inc(): MyNumber = MyNumber(i+1)
}
@@ -52,21 +50,32 @@ fun test6() : Boolean {
return true
}
// ArrayList without jdk-headers cannot be used in these tests
class MyArrayList<T>(var value: T) {
fun get(index: Int): T {
if (index != 17)
throw Exception()
return value
}
fun set(index: Int, value: T): Unit {
if (index != 17)
throw Exception()
this.value = value
}
}
fun test7() : Boolean {
var mnr = ArrayList<MyNumber>()
mnr.add(MyNumber(42))
mnr[0]++
if (mnr[0].i != 43) return false
var mnr = MyArrayList<MyNumber>(MyNumber(42))
mnr[17]++
if (mnr[17].i != 43) return false
return true
}
fun test8() : Boolean {
var mnr = ArrayList<MyNumber>()
mnr.add(MyNumber(42))
mnr.add(MyNumber(41))
mnr[1] = mnr[0]++
if (mnr[0].i != 43) return false
if (mnr[1].i != 42) return false
var mnr = MyArrayList<MyNumber>(MyNumber(42))
val old = mnr[17]++
if (old.i != 42) return false
if (mnr[17].i != 43) return false
return true
}
@@ -14,5 +14,5 @@ var <T> ArrayList<T>.length : Int
set(value: Int) = throw java.lang.Error()
var <T> ArrayList<T>.last : T
get() = get(size()-1)
get() = get(size()-1).sure()
set(el : T) { set(size()-1, el) }