object literals shared vars
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/*
|
||||
fun s0() : Boolean {
|
||||
val y = "222"
|
||||
val foo = {
|
||||
@@ -159,8 +160,22 @@ fun t11(x: Int) : Int {
|
||||
}
|
||||
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"
|
||||
@@ -174,6 +189,8 @@ fun box(): String {
|
||||
if (!t9(0)) return "fail"
|
||||
if (!t10()) return "fail"
|
||||
if (t11(1) != 104) return "fail"
|
||||
*/
|
||||
if (t12(0) != 100) return "fail"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user