| // WITH_STDLIB | |
| import kotlin.test.* | |
| interface Test { | |
| companion object { | |
| val x = "O" | |
| val y1 = Test.x | |
| val y2 = 42.let { x } | |
| val y3: String | |
| init { | |
| fun localFun() = x | |
| y3 = localFun() | |
| } | |
| fun method() = x | |
| val y4 = method() | |
| val anonObject = object { | |
| override fun toString() = x | |
| } | |
| val y5 = anonObject.toString() | |
| init { | |
| assertEquals(x, y1) | |
| assertEquals(x, y2) | |
| assertEquals(x, y3) | |
| assertEquals(x, y4) | |
| assertEquals(x, y5) | |
| } | |
| } | |
| } | |
| annotation class Anno { | |
| companion object { | |
| val x = "K" | |
| val y1 = Anno.x | |
| val y2 = 42.let { x } | |
| val y3: String | |
| init { | |
| fun localFun() = x | |
| y3 = localFun() | |
| } | |
| fun method() = x | |
| val y4 = method() | |
| val anonObject = object { | |
| override fun toString() = x | |
| } | |
| val y5 = anonObject.toString() | |
| init { | |
| assertEquals(x, y1) | |
| assertEquals(x, y2) | |
| assertEquals(x, y3) | |
| assertEquals(x, y4) | |
| assertEquals(x, y5) | |
| } | |
| } | |
| } | |
| fun box() = Test.x + Anno.x |