| /* |
| * 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. |
| */ |
| // WITH_STDLIB |
| |
| import kotlin.test.* |
| |
| val sb = StringBuilder() |
| |
| fun printInt(x: Int) = sb.appendLine(x) |
| |
| fun foo(arg: Any) { |
| val argAsInt = try { |
| arg as Int |
| } catch (e: ClassCastException) { |
| 0 |
| } |
| printInt(argAsInt) |
| } |
| |
| fun box(): String { |
| foo(1) |
| foo("Hello") |
| val nonConstInt = 1 |
| val nonConstString = "Hello" |
| foo(nonConstInt) |
| foo(nonConstString) |
| |
| assertEquals("1\n0\n1\n0\n", sb.toString()) |
| return "OK" |
| } |