fun box(): String { testIfs() testWhen() return "OK" } // From KT-60212 fun testIfs() { val b1 = 0b11011111 if (b1 and 0b10000000 == 0) { fail("A") } else if (b1 and 0b11100000 == 0b11000000) { return } else { fail("C") } } // Snippet from kotlinx-io fun testWhen() { val v = test(0xdf) if (v != 1) fail("D") } fun test(b0: Int) = when { b0 and 0x80 == 0 -> 0 b0 and 0xe0 == 0xc0 -> 1 b0 and 0xf0 == 0xe0 -> 2 b0 and 0xf8 == 0xf0 -> 3 else -> -1 } fun fail(message: String): Nothing = throw Exception(message)