separate compiler and plugin tests
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
fun fac(i: Int): Int {
|
||||
var count = 1;
|
||||
var result = 1;
|
||||
while(true) {
|
||||
count = count + 1;
|
||||
result = result * count;
|
||||
if (count == i) break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fun continue_test(i: Int): Int {
|
||||
var count = i;
|
||||
var result = 0;
|
||||
while(count > 0) {
|
||||
count = count - 1;
|
||||
if (count <= 2) continue;
|
||||
result = result + count;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun fac(i: Int): Int {
|
||||
var count = 1;
|
||||
var result = 1;
|
||||
do {
|
||||
count = count + 1;
|
||||
result = result * count;
|
||||
} while(count != i);
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import java.util.*
|
||||
|
||||
fun concat(l: List<String>): String? {
|
||||
val sb = StringBuilder()
|
||||
for(s in l) {
|
||||
sb.append(s)
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
fun concat(l: Array<String>): String? {
|
||||
val sb = StringBuilder()
|
||||
for(s in l) {
|
||||
sb.append(s)
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fun box() : String {
|
||||
val a = Array<Int> (5, {0})
|
||||
var i = 0
|
||||
var sum = 0
|
||||
for(el in 0..4) {
|
||||
a[i] = i++
|
||||
}
|
||||
for (el in a) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 10) return "a failed"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
fun box() : String {
|
||||
val a = Array<String?>(3)
|
||||
a[0] = "a"
|
||||
a[1] = "b"
|
||||
a[2] = "c"
|
||||
|
||||
val result = 0
|
||||
for(i in a.indices) {
|
||||
result += i
|
||||
}
|
||||
if (result != 3) return "FAIL"
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
fun box() : String {
|
||||
val b : Array<Int?> = Array<Int?> (5)
|
||||
var i = 0
|
||||
var sum = 0
|
||||
while(i < 5) {
|
||||
b[i] = i++
|
||||
}
|
||||
sum = 0
|
||||
for (el in b) {
|
||||
sum = sum + (el ?: 0)
|
||||
}
|
||||
System.out?.println(sum)
|
||||
if(sum != 10) return "b failed"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fun box() : String {
|
||||
val a = IntArray (5)
|
||||
var i = 0
|
||||
var sum = 0
|
||||
for(el in 0..4) {
|
||||
a[i] = i++
|
||||
}
|
||||
for (el in a) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 10) return "a failed"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
fun box() : String {
|
||||
var sum : Int = 0
|
||||
var i = 0
|
||||
|
||||
val c6 = MyCollection4()
|
||||
sum = 0
|
||||
for (el in c6) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 15) return "c6 failed"
|
||||
|
||||
val c5 = MyCollection3()
|
||||
sum = 0
|
||||
for (el in c5) {
|
||||
sum = sum + (el ?: 0)
|
||||
}
|
||||
if(sum != 15) return "c5 failed"
|
||||
|
||||
val c1: java.lang.Iterable<Int> = MyCollection1()
|
||||
sum = 0
|
||||
for (el in c1) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 15) return "c1 failed"
|
||||
|
||||
val c2 = MyCollection1()
|
||||
sum = 0
|
||||
for (el in c2) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 15) return "c2 failed"
|
||||
|
||||
val c3: Iterable<Int> = MyCollection2()
|
||||
sum = 0
|
||||
for (el in c3) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 15) return "c3 failed"
|
||||
|
||||
val c4 = MyCollection2()
|
||||
sum = 0
|
||||
for (el in c4) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 15) return "c4 failed"
|
||||
|
||||
val a : Array<Int> = Array<Int> (5, {0})
|
||||
for(el in 0..4) {
|
||||
a[i] = i++
|
||||
}
|
||||
sum = 0
|
||||
for (el in a) {
|
||||
sum = sum + el
|
||||
}
|
||||
if(sum != 10) return "a failed"
|
||||
|
||||
val b : Array<Int?> = Array<Int?> (5)
|
||||
i = 0
|
||||
while(i < 5) {
|
||||
b[i] = i++
|
||||
}
|
||||
sum = 0
|
||||
for (el in b) {
|
||||
sum = sum + (el ?: 0)
|
||||
}
|
||||
System.out?.println(sum)
|
||||
if(sum != 10) return "b failed"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
class MyCollection1(): java.lang.Iterable<Int> {
|
||||
override fun iterator(): java.util.Iterator<Int> = MyIterator()
|
||||
|
||||
class MyIterator(): java.util.Iterator<Int> {
|
||||
var k : Int = 5
|
||||
|
||||
override fun next() : Int = k--
|
||||
override fun hasNext() = k > 0
|
||||
override fun remove() {}
|
||||
}
|
||||
}
|
||||
|
||||
class MyCollection2(): Iterable<Int> {
|
||||
override fun iterator(): Iterator<Int> = MyIterator()
|
||||
|
||||
class MyIterator(): Iterator<Int> {
|
||||
var k : Int = 5
|
||||
|
||||
override fun next() : Int = k--
|
||||
override fun hasNext() = k > 0
|
||||
}
|
||||
}
|
||||
|
||||
class MyCollection3() {
|
||||
fun iterator() = MyIterator()
|
||||
|
||||
class MyIterator() {
|
||||
var k : Int = 5
|
||||
|
||||
fun next() : Int? = k--
|
||||
fun hasNext() = k > 0
|
||||
}
|
||||
}
|
||||
|
||||
class MyCollection4() {
|
||||
fun iterator() = MyIterator()
|
||||
|
||||
class MyIterator() {
|
||||
var k : Int = 5
|
||||
|
||||
fun next() : Int = k--
|
||||
fun hasNext() = k > 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
fun foo(b: Boolean): Int { return if (b) 15 else 20 }
|
||||
@@ -0,0 +1,10 @@
|
||||
import java.util.*
|
||||
|
||||
fun concat(l: List<String>): String? {
|
||||
val sb = StringBuilder()
|
||||
for(s in l) {
|
||||
val x = if(l.size() > 1) { "T" } else { "F" };
|
||||
sb.append(x)
|
||||
}
|
||||
return sb.toString()
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
fun f(x: Int, b: Boolean): Int {
|
||||
var result = x;
|
||||
if (b) else result = result + 5;
|
||||
return result;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
fun foo(b: Boolean) : Int {
|
||||
if (b) return 15;
|
||||
return 20;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(s: String): String? {
|
||||
try {
|
||||
Integer.parseInt(s);
|
||||
return "no message";
|
||||
}
|
||||
catch(e: NumberFormatException) {
|
||||
return (e : Throwable).getMessage(); // Work around an overload-resolution bug
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun f(sb: StringBuilder, s: String): Unit {
|
||||
try {
|
||||
sb.append("foo");
|
||||
sb.append(Integer.parseInt(s));
|
||||
}
|
||||
finally {
|
||||
sb.append("bar");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun fac(i: Int): Int {
|
||||
var count = 1;
|
||||
var result = 1;
|
||||
while(count < i) {
|
||||
count = count + 1;
|
||||
result = result * count;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user