| // FIR_IDENTICAL |
| // WITH_STDLIB |
| // IGNORE_BACKEND: JS_IR |
| |
| // KT-61141: `println (message: kotlin.Any?)` instead of `println (message: kotlin.Int)` |
| // IGNORE_BACKEND: NATIVE |
| fun expectsString(s: String) {} |
| fun expectsInt(i: Int) {} |
| |
| fun overloaded(s: String) = s |
| fun overloaded(x: Any) = x |
| |
| fun test1(x: Any) { |
| if (x !is String) return |
| println(x.length) |
| expectsString(x) |
| expectsInt(x.length) |
| expectsString(overloaded(x)) |
| } |
| |
| fun test2(x: Any): String { |
| if (x !is String) return "" |
| return overloaded(x) |
| } |
| |
| fun test3(x: Any): String { |
| if (x !is String) return "" |
| return x |
| } |