Kd
Size: a a a
Kd
AD
Kd
Kd
Kd
VP
Kd
VP
Kd
AD
BP
BP
I
I
sealed interface SI
@JvmInline
value class IC(val i: Int): SI
data class DC(val a: String, val b: IC): SI
fun stringify(si: SI): String = when (si) {
is DC -> "a = ${si.a} b = ${stringify(si.b)}"
is IC -> "ic = ${si.i}"
}
fun main() {
println(
stringify(DC("Hi", IC(42)))
)
}
BP
KD
sealed interface SI
@JvmInline
value class IC(val i: Int): SI
data class DC(val a: String, val b: IC): SI
fun stringify(si: SI): String = when (si) {
is DC -> "a = ${si.a} b = ${stringify(si.b)}"
is IC -> "ic = ${si.i}"
}
fun main() {
println(
stringify(DC("Hi", IC(42)))
)
}
IC
?SI
сам что-то ждёт в конструктор?I
IC
?SI
сам что-то ждёт в конструктор?stringify(si.b)
и в ветке is IC -> "ic = ${si.i}"
будет, разумеется боксинг-анбоксинг.OY
I