[FIR] Handle varargs in overloaded indexed access operator.

This commit is contained in:
Mark Punzalan
2020-09-22 23:16:46 -07:00
committed by teamcityserver
parent c471a7735e
commit f6ce2d893c
14 changed files with 94 additions and 11 deletions
@@ -0,0 +1,29 @@
object A {
var x = 0
var gets = 0
var sets = 0
operator fun get(vararg va: Int): Int {
for (i in va) {
gets += i
}
return x
}
operator fun set(vararg va: Int, value: Int) {
for (i in va) {
sets += i
}
x = value
}
}
fun box(): String {
A.x = 0
val xx = A[1, 2, 3]++
if (xx != 0) return "Failed xx: $xx"
if (A.x != 1) return "Failed A.x: ${A.x}"
if (A.gets != 6) return "Failed A.gets: ${A.gets}"
if (A.sets != 6) return "Failed A.sets: ${A.sets}"
return "OK"
}