| // ISSUE: KT-57105 | |
| // DUMP_IR | |
| // simpleCase | |
| open class Base_1 { | |
| val x: Any? | |
| val y: Any? | |
| init { | |
| this as Derived_1 | |
| x = "O" | |
| this.y = "O" | |
| } | |
| } | |
| class Derived_1: Base_1() | |
| // deep hierarchy | |
| open class Base_2 { | |
| val x: Any? | |
| val y: Any? | |
| init { | |
| this as Impl_2 | |
| x = "K" | |
| this.y = "K" | |
| } | |
| } | |
| open class Derived_2: Base_2() | |
| class Impl_2: Derived_2() | |
| fun box(): String { | |
| val a = Derived_1() | |
| val b = Impl_2() | |
| val res1 = "" + a.x + b.x | |
| val res2 = "" + a.y + b.y | |
| if (res1 != "OK") return "Fail implicit: $res1" | |
| if (res2 != "OK") return "Fail explicit: $res2" | |
| return "OK" | |
| } |