| /* |
| * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license |
| * that can be found in the LICENSE file. |
| */ |
| |
| fun box(): String { |
| for (x in 0 .. 8) { |
| foo(x, Unit) |
| } |
| return "OK" |
| } |
| |
| var global = 42 |
| |
| fun foo(x: Int, unit: Unit) { |
| var local = 5 |
| val y: Unit = when (x) { |
| 0 -> {} |
| 1 -> local = 6 |
| 2 -> global = 43 |
| 3 -> unit |
| 4 -> Unit |
| 5 -> bar() |
| 6 -> return |
| 7 -> { |
| 5 |
| bar() |
| } |
| 8 -> { |
| val z: Any = Unit |
| z as Unit |
| } |
| else -> throw Error() |
| } |
| |
| if (y !== Unit) { |
| throw Error("Fail at x = $x") |
| } |
| } |
| |
| fun bar() { |
| } |