| // DONT_TARGET_EXACT_BACKEND: WASM |
| // WASM_MUTE_REASON: STDLIB_COLLECTIONS |
| // KJS_WITH_FULL_RUNTIME |
| class ArrayWrapper<T>() { |
| val contents = ArrayList<T>() |
| |
| fun add(item: T) { |
| contents.add(item) |
| } |
| |
| operator fun plusAssign(rhs: ArrayWrapper<T>) { |
| contents.addAll(rhs.contents) |
| } |
| |
| operator fun get(index: Int): T { |
| return contents.get(index)!! |
| } |
| } |
| |
| fun box(): String { |
| var v1 = ArrayWrapper<String>() |
| val v2 = ArrayWrapper<String>() |
| v1.add("foo") |
| v2.add("bar") |
| v1 += v2 |
| return if (v1.contents.size == 2) "OK" else "fail" |
| } |