//
// 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) {
    // in the early return path, we need only close out the opened groups
    if (x > 0) {
        A()
        return
    }
    print("hello")
}

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

@NonRestartableComposable
@Composable
@FunctionKeyMeta(key = -1008580451, startOffset = 227, endOffset = 393)
fun Example(x: Int, %composer: Composer?, %changed: Int) {
  %composer.startReplaceGroup(<>)
  sourceInformation(%composer, "C(Example)N(x):Test.kt")
  if (isTraceInProgress()) {
    traceEventStart(<>, %changed, -1, <>)
  }
  if (x > 0) {
    %composer.startReplaceGroup(<>)
    sourceInformation(%composer, "<A()>")
    A(%composer, 0)
    %composer.endReplaceGroup()
    if (isTraceInProgress()) {
      traceEventEnd()
    }
    %composer.endReplaceGroup()
    return
  } else {
    %composer.startReplaceGroup(<>)
    %composer.endReplaceGroup()
  }
  print("hello")
  if (isTraceInProgress()) {
    traceEventEnd()
  }
  %composer.endReplaceGroup()
}
