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

import androidx.compose.runtime.*

interface Presenter {
    @Composable fun Content()
}

class PresenterImpl(
    private val onCompose: () -> Unit
) : Presenter {
    @Composable
    override fun Content() {
        onCompose()
    }
}

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

interface Presenter {
  @Composable
  @FunctionKeyMeta(key = -1788911769, startOffset = 110, endOffset = 123)
  abstract fun Content(%composer: Composer?, %changed: Int)
}
@StabilityInferred(parameters = 1)
class PresenterImpl(val onCompose: Function0<Unit>) : Presenter {
  @Composable
  @FunctionKeyMeta(key = 902114215, startOffset = 303, endOffset = 368)
  override fun Content(%composer: Composer?, %changed: Int) {
    %composer = %composer.startRestartGroup(<>)
    val %dirty = %changed
    if (%changed and 0b0110 == 0) {
      %dirty = %dirty or if (%composer.changed(<this>)) 0b0100 else 0b0010
    }
    if (%composer.shouldExecute(%dirty and 0b0011 != 0b0010, %dirty and 0b0001)) {
      onCompose()
    } else {
      %composer.skipToGroupEnd()
    }
    val tmp0_rcvr = <this>
    %composer.endRestartGroup()?.updateScope { %composer: Composer?, %force: Int ->
      tmp0_rcvr.Content(%composer, updateChangedFlags(%changed or 0b0001))
    }
  }
  static val %stable: Int = 0
}
