//
// Source
// ------------------------------------------

import androidx.compose.runtime.*

fun test() {
    object: C() {
        @Composable
        override fun Render() {
            @Composable
            fun B() {
                Button({}) {}
            }

            B()
        }
    }
}

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

fun test() {
  object : C {
    @Composable
    @FunctionKeyMeta(key = 2092313701, startOffset = 184, endOffset = 411)
    override fun Render(%composer: Composer?, %changed: Int) {
      %composer.startReplaceGroup(<>)
      sourceInformation(%composer, "C(Render)<B()>:Test.kt")
      if (isTraceInProgress()) {
        traceEventStart(<>, %changed, -1, <>)
      }
      @Composable
      @FunctionKeyMeta(key = -1870925541, startOffset = 267, endOffset = 352)
      fun B(%composer: Composer?, %changed: Int) {
        sourceInformationMarkerStart(%composer, <>, "C(B)<{}>,<Button...>:Test.kt")
        if (isTraceInProgress()) {
          traceEventStart(<>, %changed, -1, <>)
        }
        Button(<block>{
          sourceInformationMarkerStart(%composer, <>, "CC(remember):Test.kt#9igjgp")
          val tmp0_group = %composer.cache(false) {
            {
            }
          }
          sourceInformationMarkerEnd(%composer)
          tmp0_group
        }, ComposableSingletons%TestKt.lambda%-951912229, %composer, 0b00110110)
        if (isTraceInProgress()) {
          traceEventEnd()
        }
        sourceInformationMarkerEnd(%composer)
      }
      B(%composer, 0)
      if (isTraceInProgress()) {
        traceEventEnd()
      }
      %composer.endReplaceGroup()
    }
  }
}
internal object ComposableSingletons%TestKt {
  val lambda%-951912229: Function2<Composer, Int, Unit> = composableLambdaInstance(<>, false) { %composer: Composer?, %changed: Int ->
    sourceInformation(%composer, "C:Test.kt")
    if (%composer.shouldExecute(%changed and 0b0011 != 0b0010, %changed and 0b0001)) {
      if (isTraceInProgress()) {
        traceEventStart(<>, %changed, -1, <>)
      }
      Unit
      if (isTraceInProgress()) {
        traceEventEnd()
      }
    } else {
      %composer.skipToGroupEnd()
    }
  }
}
