[go: nahoru, domu]

blob: 5f0305a21f260306af69b1590ddaad12d89457dc [file] [log] [blame]
//
// Source
// ------------------------------------------
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.key
import androidx.compose.runtime.NonRestartableComposable
@NonRestartableComposable @Composable
fun Example(x: Int) {
// result blocks have composable calls, so we generate groups round them. It's a
// statically guaranteed number of groups at execution, so no wrapping group is
// needed.
when {
x < 0 -> A(a)
x > 30 -> A(b)
else -> A(c)
}
}
//
// Transformed IR
// ------------------------------------------
@NonRestartableComposable
@Composable
fun Example(x: Int, %composer: Composer?, %changed: Int) {
sourceInformationMarkerStart(%composer, <>, "C(Example):Test.kt")
if (isTraceInProgress()) {
traceEventStart(<>, %changed, -1, <>)
}
when {
x < 0 -> {
%composer.startReplaceGroup(<>)
sourceInformation(%composer, "<A(a)>")
A(a, %composer, 0)
%composer.endReplaceGroup()
}
x > 30 -> {
%composer.startReplaceGroup(<>)
sourceInformation(%composer, "<A(b)>")
A(b, %composer, 0)
%composer.endReplaceGroup()
}
else -> {
%composer.startReplaceGroup(<>)
sourceInformation(%composer, "<A(c)>")
A(c, %composer, 0)
%composer.endReplaceGroup()
}
}
if (isTraceInProgress()) {
traceEventEnd()
}
sourceInformationMarkerEnd(%composer)
}