| // KJS_WITH_FULL_RUNTIME |
| // FILE: lib.kt |
| package foo |
| |
| inline fun syntaxTestInline() { |
| var result: Int = -0 |
| |
| for (i in 1..10) |
| result += 1 |
| |
| for (i in arrayOf(10).indices) |
| result += i |
| |
| while (result < 30) |
| result += 1 |
| |
| while (true) |
| break |
| |
| while (false) |
| continue |
| |
| do |
| result += 1 |
| while (result < 40) |
| |
| if (true) |
| result += 10 |
| |
| if (false) |
| result += 0 |
| else |
| result += 10 |
| |
| result += if (true) 10 else 0 |
| |
| result += if (false) 0 else 10 |
| |
| when (result) { |
| 0 -> result += 0 |
| else -> result += 10 |
| } |
| |
| when (result) { |
| result -> result += 10 |
| else -> result += 0 |
| } |
| |
| result = result + 10 - 10 * 1 / 1 |
| |
| try { |
| result += 10 |
| } catch (e: Exception) { |
| result += 0 |
| } |
| |
| result++ |
| |
| --result |
| |
| val nullable: String? = null |
| } |
| |
| // FILE: main.kt |
| package foo |
| |
| fun syntaxTest() { |
| syntaxTestInline() |
| } |
| |
| // CHECK_BREAKS_COUNT: function=box count=0 |
| // CHECK_LABELS_COUNT: function=box name=$l$block count=0 |
| fun box(): String { |
| syntaxTest() |
| return "OK" |
| } |