blob: 21c827ef9da6b6110cb3eecdc503c66e270efd4e [file]
// MODULE: lib
// FILE: lib.kt
interface Modifier {
companion object Companion : Modifier {
private constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
}
interface TestContainer {
@Composable
@FunctionKeyMeta(key = 1269968359, startOffset = 859, endOffset = 902)
abstract fun layout(content: Function2<Composer, Int, Unit>, /* var */ $composer: Composer?, $changed: Int)
}
interface TestValue {
class ComposeDefaultImpls {
@Composable
companion fun compose$default(/* var */ modifier: Modifier?, $this$: TestValue, /* var */ $composer: Composer?, $changed: Int, $default: Int) {
var modifier: Modifier? = modifier
var $composer: Composer? = $composer
{ // BLOCK
$composer = $composer.startRestartGroup(key = -1719345412)
sourceInformation(composer = $composer, sourceInformation = "C(compose$default):lib.kt")
}
val $dirty: Int = $changed
when {
EQEQ(arg0 = $default.and(other = 1), arg1 = 0).not() -> $dirty = $dirty.or(other = 6)
EQEQ(arg0 = $changed.and(other = 6), arg1 = 0) -> $dirty = $dirty.or(other = when {
when {
EQEQ(arg0 = $changed.and(other = 8), arg1 = 0) -> $composer.changed(value = modifier)
else -> $composer.changedInstance(value = modifier)
} -> 4
else -> 2
})
}
when {
EQEQ(arg0 = $changed.and(other = 48), arg1 = 0) -> $dirty = $dirty.or(other = when {
when {
EQEQ(arg0 = $changed.and(other = 64), arg1 = 0) -> $composer.changed(value = $this$)
else -> $composer.changedInstance(value = $this$)
} -> 32
else -> 16
})
}
when {
$composer.shouldExecute(parametersChanged = EQEQ(arg0 = $dirty.and(other = 19), arg1 = 18).not(), flags = $dirty.and(other = 1)) -> { // BLOCK
when {
EQEQ(arg0 = $default.and(other = 1), arg1 = 0).not() -> modifier = Companion
}
when {
isTraceInProgress() -> traceEventStart(key = -1719345412, dirty1 = $dirty, dirty2 = -1, info = "TestValue.ComposeDefaultImpls.compose$default (lib.kt:-1)")
}
$this$.compose(modifier = modifier /*as Modifier */, $composer = $composer, $changed = 14.and(other = $dirty).or(other = 112.and(other = $dirty)))
when {
isTraceInProgress() -> traceEventEnd()
}
}
else -> $composer.skipToGroupEnd()
}
{ // BLOCK
{ // BLOCK
val tmp_0: ScopeUpdateScope? = $composer.endRestartGroup()
when {
EQEQ(arg0 = tmp_0, arg1 = null) -> null
else -> tmp_0.updateScope(block = local fun <anonymous>($composer: Composer?, $force: Int) {
return compose$default(modifier = modifier, $this$ = $this$, $composer = $composer, $changed = updateChangedFlags(flags = $changed.or(other = 1)), $default = $default)
}
)
}
}
}
}
}
@Composable
@FunctionKeyMeta(key = 568107671, startOffset = 948, endOffset = 990)
abstract fun compose(modifier: Modifier, /* var */ $composer: Composer?, $changed: Int)
@Composable
@FunctionKeyMeta(key = -353834169, startOffset = 1012, endOffset = 1124)
fun compose(container: TestContainer, /* var */ $composer: Composer?, $changed: Int) {
var $composer: Composer? = $composer
{ // BLOCK
$composer.startReplaceGroup(key = -353834169)
sourceInformation(composer = $composer, sourceInformation = "C(compose)31@1077L41,31@1070L48:lib.kt")
}
when {
isTraceInProgress() -> traceEventStart(key = -353834169, dirty1 = $changed, dirty2 = -1, info = "TestValue.compose (lib.kt:30)")
}
container.layout(content = run<Function2<Composer, Int, Unit>>(block = local inline fun <anonymous>(): Function2<Composer, Int, Unit> {
val tmp_1: ComposableLambda = rememberComposableLambda(key = -696932450, tracked = true, block = @Composable
@FunctionKeyMeta(key = -696932450, startOffset = 1077, endOffset = 1118)
local fun <anonymous>(/* var */ $composer: Composer?, $changed: Int) {
var $composer: Composer? = $composer
sourceInformation(composer = $composer, sourceInformation = "C32@1091L17:lib.kt")
when {
$composer.shouldExecute(parametersChanged = EQEQ(arg0 = $changed.and(other = 3), arg1 = 2).not(), flags = $changed.and(other = 1)) -> { // BLOCK
when {
isTraceInProgress() -> traceEventStart(key = -696932450, dirty1 = $changed, dirty2 = -1, info = "TestValue.compose.<anonymous> (lib.kt:32)")
}
compose$default(modifier = Companion, $this$ = <this>, $composer = $composer, $changed = 6, $default = 0)
when {
isTraceInProgress() -> traceEventEnd()
}
}
else -> $composer.skipToGroupEnd()
}
}
, $composer = $composer, $changed = 54)
return remember<Function2<Composer, Int, Unit>>(key1 = tmp_1, calculation = local inline fun <anonymous>(): Function2<Composer, Int, Unit> {
return Function2<Composer, Int, Unit>(
/* bound = */ [tmp_1],
/* invoke = */ local fun(<this>: ComposableLambda, p0: Composer, p1: Int) {
return <this>.invoke(p1 = p0, p2 = p1) /*~> Unit */
}
)
}
, $composer = $composer, $changed = 0)
}
) /*as Function2<Composer, Int, Unit> */, $composer = $composer, $changed = 6.or(other = 112.and(other = $changed.shl(bitCount = 3))))
when {
isTraceInProgress() -> traceEventEnd()
}
$composer.endReplaceGroup()
}
}
// MODULE: main
// FILE: main.kt
val TestValueImpl$stableprop: Int
field = 0
val TestContainerImpl$stableprop: Int
field = 0
@StabilityInferred(parameters = 1)
class TestContainerImpl : TestContainer {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
@Composable
@ComposableInferredTarget(scheme = "[0[0]]")
@FunctionKeyMeta(key = -1474425943, startOffset = 296, endOffset = 365)
override fun layout(content: Function2<Composer, Int, Unit>, /* var */ $composer: Composer?, $changed: Int) {
var $composer: Composer? = $composer
{ // BLOCK
$composer = $composer.startRestartGroup(key = -1474425943)
sourceInformation(composer = $composer, sourceInformation = "C(layout)50@350L9:main.kt")
}
val $dirty: Int = $changed
when {
EQEQ(arg0 = $changed.and(other = 6), arg1 = 0) -> $dirty = $dirty.or(other = when {
$composer.changedInstance(value = content) -> 4
else -> 2
})
}
when {
$composer.shouldExecute(parametersChanged = EQEQ(arg0 = $dirty.and(other = 3), arg1 = 2).not(), flags = $dirty.and(other = 1)) -> { // BLOCK
when {
isTraceInProgress() -> traceEventStart(key = -1474425943, dirty1 = $dirty, dirty2 = -1, info = "TestContainerImpl.layout (main.kt:49)")
}
content.invoke(p1 = $composer, p2 = 14.and(other = $dirty))
when {
isTraceInProgress() -> traceEventEnd()
}
}
else -> $composer.skipToGroupEnd()
}
{ // BLOCK
val tmp_0: TestContainerImpl = <this>
{ // BLOCK
val tmp_1: ScopeUpdateScope? = $composer.endRestartGroup()
when {
EQEQ(arg0 = tmp_1, arg1 = null) -> null
else -> tmp_1.updateScope(block = local fun <anonymous>($composer: Composer?, $force: Int) {
return tmp_0.layout(content = content, $composer = $composer, $changed = updateChangedFlags(flags = $changed.or(other = 1)))
}
)
}
}
}
}
}
@StabilityInferred(parameters = 1)
class TestValueImpl : TestValue {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
@Composable
@FunctionKeyMeta(key = 984679673, startOffset = 182, endOffset = 221)
override fun compose(modifier: Modifier, /* var */ $composer: Composer?, $changed: Int) {
var $composer: Composer? = $composer
{ // BLOCK
$composer.startReplaceGroup(key = 984679673)
sourceInformation(composer = $composer, sourceInformation = "C(compose):main.kt")
}
when {
isTraceInProgress() -> traceEventStart(key = 984679673, dirty1 = $changed, dirty2 = -1, info = "TestValueImpl.compose (main.kt:43)")
}
when {
isTraceInProgress() -> traceEventEnd()
}
$composer.endReplaceGroup()
}
}
@Deprecated(message = "Synthetic declaration generated by the Compose compiler. Please do not use.", level = DeprecationLevel.HIDDEN)
fun TestContainerImpl$stableprop_getter(): Int {
return #TestContainerImpl$stable
}
@Deprecated(message = "Synthetic declaration generated by the Compose compiler. Please do not use.", level = DeprecationLevel.HIDDEN)
fun TestValueImpl$stableprop_getter(): Int {
return #TestValueImpl$stable
}
@Composable
@FunctionKeyMeta(key = 650608964, startOffset = 381, endOffset = 443)
fun App(/* var */ $composer: Composer?, $changed: Int) {
var $composer: Composer? = $composer
{ // BLOCK
$composer = $composer.startRestartGroup(key = 650608964)
sourceInformation(composer = $composer, sourceInformation = "C(App)56@413L28:main.kt")
}
when {
$composer.shouldExecute(parametersChanged = EQEQ(arg0 = $changed, arg1 = 0).not(), flags = $changed.and(other = 1)) -> { // BLOCK
when {
isTraceInProgress() -> traceEventStart(key = 650608964, dirty1 = $changed, dirty2 = -1, info = "App (main.kt:55)")
}
TestValueImpl().compose(container = TestContainerImpl(), $composer = $composer, $changed = 0)
when {
isTraceInProgress() -> traceEventEnd()
}
}
else -> $composer.skipToGroupEnd()
}
{ // BLOCK
{ // BLOCK
val tmp_2: ScopeUpdateScope? = $composer.endRestartGroup()
when {
EQEQ(arg0 = tmp_2, arg1 = null) -> null
else -> tmp_2.updateScope(block = local fun <anonymous>($composer: Composer?, $force: Int) {
return App($composer = $composer, $changed = updateChangedFlags(flags = $changed.or(other = 1)))
}
)
}
}
}
}
fun box(): String {
return "OK"
}