| object A { |
| private constructor() /* primary */ { |
| super/*Any*/() |
| /* <init>() */ |
| |
| } |
| |
| } |
| |
| fun test(x: Any?): String { |
| return when { |
| EQEQ(arg0 = x, arg1 = null) -> "null" |
| EQEQ(arg0 = x, arg1 = A) -> "A" |
| x is String -> "String" |
| x !is Number -> "!Number" |
| setOf<Nothing>().contains<Number>(element = x /*as Number */) -> "nothingness?" |
| else -> "something" |
| } |
| } |
| |
| fun testComma(x: Int): String { |
| return { // BLOCK |
| val tmp_0: Int = x |
| when { |
| when { |
| when { |
| EQEQ(arg0 = tmp_0, arg1 = 1) -> true |
| else -> EQEQ(arg0 = tmp_0, arg1 = 2) |
| } -> true |
| else -> when { |
| EQEQ(arg0 = tmp_0, arg1 = 3) -> true |
| else -> EQEQ(arg0 = tmp_0, arg1 = 4) |
| } |
| } -> "1234" |
| when { |
| EQEQ(arg0 = tmp_0, arg1 = 5) -> true |
| else -> when { |
| EQEQ(arg0 = tmp_0, arg1 = 6) -> true |
| else -> EQEQ(arg0 = tmp_0, arg1 = 7) |
| } |
| } -> "567" |
| when { |
| EQEQ(arg0 = tmp_0, arg1 = 8) -> true |
| else -> EQEQ(arg0 = tmp_0, arg1 = 9) |
| } -> "89" |
| else -> "?" |
| } |
| } |
| } |
| |
| fun testWithSubject(x: Any?): String { |
| return { // BLOCK |
| val tmp_1: Any? = x |
| when { |
| EQEQ(arg0 = tmp_1, arg1 = null) -> "null" |
| EQEQ(arg0 = tmp_1, arg1 = A) -> "A" |
| tmp_1 is String -> "String" |
| tmp_1 !is Number -> "!Number" |
| setOf<Nothing>().contains<Number>(element = tmp_1 /*as Number */) -> "nothingness?" |
| else -> "something" |
| } |
| } |
| } |
| |