Merge remote branch 'origin/master'

Conflicts:
	idea/tests/org/jetbrains/jet/resolve/JetResolveTest.java
This commit is contained in:
Andrey Breslav
2011-10-17 20:04:32 +04:00
31 changed files with 986 additions and 95 deletions
@@ -1,6 +1,6 @@
fun box() : String {
val cl = 39
return if (sum(200, { cl }) == 239) "OK" else "FAIL"
return if (sum(200, { val m = { val r = { cl }; r() }; m() }) == 239) "OK" else "FAIL"
}
fun sum(arg:Int, f : fun () : Int) : Int {
@@ -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()
}
@@ -1,10 +1,17 @@
class C() {
val child = object {
fun toString(): String = "child"
class C(x: Int, val y : Int) {
fun initChild(x: Int) : java.lang.Object {
return object : java.lang.Object() {
override fun toString(): String? {
x = x + y
return "child" + x
}
}
}
val child = initChild(x)
}
fun box(): String {
val c = C()
return if (c.child.toString() == "child") "OK" else "fail"
val c = C(10,3)
return if (c.child.toString() == "child13" && c.child.toString() == "child16" && c.child.toString() == "child19") "OK" else "fail"
}
+196
View File
@@ -0,0 +1,196 @@
/*
fun s0() : Boolean {
val y = "222"
val foo = {
val bar = { y }
bar ()
}
return foo() == "222"
}
fun s1() : Boolean {
var x = "222"
val foo = {
val bar = {
x = "aaa"
}
bar ()
}
foo()
return x == "aaa"
}
fun t1() : Boolean {
var x = "111"
val y = x + "22"
val foo = {
x = x + "45" + y
x = x.substring(3)
x += "aaa"
()
}
foo()
x += "bbb"
System.out?.println(x)
return x == "4511122aaabbb"
}
fun t2() : Boolean {
var x = 111
val y = x + 22
val foo = {
x = x + 5 + y
x += 5
x++
()
}
foo()
x -= 55
System.out?.println(x)
return x == 200
}
fun t3() : Boolean {
var x = true
val foo = {
x = false
()
}
foo()
return !x
}
fun t4() : Boolean {
var x = 100.flt
val y = x + 22
val foo = {
x = x + 200.flt + y
x += 18
()
}
foo()
System.out?.println(x)
return x == 440.flt
}
fun t5() : Boolean {
var x = 100.dbl
val y = x + 22
val foo = {
x = x + 200.dbl + y
x -= 22
()
}
foo()
System.out?.println(x)
return x == 400.dbl
}
fun t6() : Boolean {
var x = 20.byt
val y = x + 22
val foo = {
x = (x + 20.byt + y).byt
x += 2
x--
()
}
foo()
System.out?.println(x)
return x == 83.byt
}
fun t7() : Boolean {
var x : Char = 'a'
val foo = {
x = 'b'
()
}
foo()
System.out?.println(x)
return x == 'b'
}
fun t8() : Boolean {
var x = 20.sht
val foo = {
val bar = {
x = 30.sht
()
}
bar()
()
}
foo()
return x == 30.sht
}
fun t9(x: Int) : Boolean {
while(x < 100) {
x++
}
return x == 100
}
fun t10() : Boolean {
var y = 1
val foo = {
val bar = {
y = y + 1
}
bar()
}
foo()
return y == 2
}
fun t11(x: Int) : Int {
val foo = {
x = x + 1
val bar = {
x = x + 1
x += 3
}
bar()
}
while(x < 100) {
foo()
}
return x
}
*/
fun t12(x: Int) : Int {
var y = x
val runnable = object : Runnable {
override fun run () {
y = y + 1
}
}
while(y < 100) {
runnable.run()
}
return y
}
fun box(): String {
/*
if (!s0()) return "fail"
if (!s1()) return "fail"
if (!t1()) return "fail"
if (!t2()) return "fail"
if (!t3()) return "fail"
if (!t4()) return "fail"
if (!t5()) return "fail"
if (!t6()) return "fail"
if (!t7()) return "fail"
if (!t8()) return "fail"
if (!t9(0)) return "fail"
if (!t10()) return "fail"
if (t11(1) != 104) return "fail"
*/
if (t12(0) != 100) return "fail"
return "OK"
}