//
// 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(items: Iterator<Int>) {
    // a group around while is needed here
    while (items.hasNext()) {
        val i = items.next()
        P(i)
        if (i == 0) {
            break
        }
        P(i)
    }
    A()
}

//
// Transformed IR
// ------------------------------------------

@NonRestartableComposable
@Composable
@FunctionKeyMeta(key = 1376619110, startOffset = 227, endOffset = 456)
fun Example(items: Iterator<Int>, %composer: Composer?, %changed: Int) {
  sourceInformationMarkerStart(%composer, <>, "C(Example)N(items)<A()>:Test.kt")
  if (isTraceInProgress()) {
    traceEventStart(<>, %changed, -1, <>)
  }
  %composer.startReplaceGroup(<>)
  sourceInformation(%composer, "*<P(i)>,<P(i)>")
  while (items.hasNext()) {
    val i = items.next()
    P(i, %composer, 0)
    if (i == 0) {
      break
    }
    P(i, %composer, 0)
  }
  %composer.endReplaceGroup()
  A(%composer, 0)
  if (isTraceInProgress()) {
    traceEventEnd()
  }
  sourceInformationMarkerEnd(%composer)
}
