| // WITH_STDLIB |
| |
| import kotlin.test.* |
| |
| val sb = StringBuilder() |
| |
| fun printInt(x: Int) = sb.appendLine(x.toString()) |
| fun printBoolean(x: Boolean) = sb.appendLine(x.toString()) |
| fun printUInt(x: UInt) = sb.appendLine(x.toString()) |
| |
| fun foo(arg: Any) { |
| if (arg is Int) |
| printInt(arg) |
| else if (arg is Boolean) |
| printBoolean(arg) |
| else if (arg is UInt) |
| printUInt(arg) |
| else |
| sb.appendLine("other") |
| } |
| |
| fun box(): String { |
| foo(1) |
| foo(2u) |
| foo(true) |
| foo("Hello") |
| val nonConstInt = 1 |
| val nonConstUInt = 2u |
| val nonConstBool = true |
| val nonConstString = "Hello" |
| foo(nonConstInt) |
| foo(nonConstUInt) |
| foo(nonConstBool) |
| foo(nonConstString) |
| |
| assertEquals(""" |
| 1 |
| 2 |
| true |
| other |
| 1 |
| 2 |
| true |
| other |
| |
| """.trimIndent(), sb.toString()) |
| return "OK" |
| } |