20 lines
445 B
Kotlin
Vendored
20 lines
445 B
Kotlin
Vendored
@CompileTimeCalculation
|
|
interface LocalObject {
|
|
fun getNum(): Int
|
|
}
|
|
|
|
@CompileTimeCalculation
|
|
fun getLocalObject(num: Int) = object : LocalObject {
|
|
override fun getNum() = num
|
|
}
|
|
|
|
@CompileTimeCalculation
|
|
class A(val a: Int) {
|
|
val localObject = object : LocalObject {
|
|
override fun getNum() = a
|
|
}
|
|
}
|
|
|
|
const val a = <!EVALUATED: `10`!>getLocalObject(10).getNum()<!>
|
|
const val b = <!EVALUATED: `2`!>A(2).localObject.getNum()<!>
|