mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-09 08:31:29 +00:00
33 lines
660 B
Kotlin
Vendored
33 lines
660 B
Kotlin
Vendored
var log = ""
|
|
|
|
fun foo(): Int {
|
|
log += "foo;"
|
|
return 1
|
|
}
|
|
fun bar(): Int {
|
|
log += "bar;"
|
|
return 42
|
|
}
|
|
|
|
data class A(val x: Int) {
|
|
operator fun plus(other: A) = A(x + other.x)
|
|
}
|
|
|
|
fun box(): String {
|
|
val array = arrayOf(0, 1)
|
|
array[foo()] += bar()
|
|
|
|
if (array[0] != 0) return "fail1a: ${array[0]}"
|
|
if (array[1] != 43) return "fail1b: ${array[0]}"
|
|
|
|
log += "!;"
|
|
|
|
val objArray = arrayOf(A(0), A(1))
|
|
objArray[foo()] += A(bar())
|
|
if (objArray[0] != A(0)) return "fail2a: ${array[0]}"
|
|
if (objArray[1] != A(43)) return "fail2b: ${array[0]}"
|
|
|
|
if (log != "foo;bar;!;foo;bar;") return "fail3: $log"
|
|
|
|
return "OK"
|
|
} |