//
// 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?) {
    // The composable call is made conditionally, which means it is like an if with
    // only one result having a composable call, so we just generate a single group
    // around the whole expression.
    x?.A()
}

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

@NonRestartableComposable
@Composable
@FunctionKeyMeta(key = -1008580451, startOffset = 227, endOffset = 466)
fun Example(x: Int?, %composer: Composer?, %changed: Int) {
  sourceInformationMarkerStart(%composer, <>, "C(Example)N(x):Test.kt")
  if (isTraceInProgress()) {
    traceEventStart(<>, %changed, -1, <>)
  }
  val tmp0_safe_receiver = x
  when {
    tmp0_safe_receiver == null -> {
      %composer.startReplaceGroup(<>)
      %composer.endReplaceGroup()
      null
    }
    else -> {
      %composer.startReplaceGroup(<>)
      sourceInformation(%composer, "<A()>")
      tmp0_safe_receiver as Int.A(%composer, 0b1110 and %changed)
      %composer.endReplaceGroup()
    }
  }
  if (isTraceInProgress()) {
    traceEventEnd()
  }
  sourceInformationMarkerEnd(%composer)
}
