MODULE_FRAGMENT
  FILE fqName:com.example.home fileName:main.kt
    FUN name:foo visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:Regular name:arg index:0 type:com.example.interfaces.I?
      VALUE_PARAMETER kind:Regular name:$composer index:1 type:androidx.compose.runtime.Composer? [assignable]
      VALUE_PARAMETER kind:Regular name:$changed index:2 type:kotlin.Int
      annotations:
        Composable
        FunctionKeyMeta(key = 77127344, startOffset = 143, endOffset = 163)
      BLOCK_BODY
        BLOCK type=kotlin.Unit origin=null
          SET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=kotlin.Unit origin=null
            CALL 'public abstract fun startRestartGroup (key: kotlin.Int): androidx.compose.runtime.Composer declared in androidx.compose.runtime.Composer' type=androidx.compose.runtime.Composer origin=null
              ARG <this>: GET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=androidx.compose.runtime.Composer? origin=null
              ARG key: CONST Int type=kotlin.Int value=77127344
          CALL 'public final fun sourceInformation (composer: androidx.compose.runtime.Composer, sourceInformation: kotlin.String): kotlin.Unit declared in androidx.compose.runtime' type=kotlin.Unit origin=null
            ARG composer: GET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=androidx.compose.runtime.Composer? origin=null
            ARG sourceInformation: CONST String type=kotlin.String value="C(foo)N(arg):main.kt#dgdy5s"
        WHEN type=kotlin.Unit origin=IF
          BRANCH
            if: CALL 'public abstract fun shouldExecute (parametersChanged: kotlin.Boolean, flags: kotlin.Int): kotlin.Boolean declared in androidx.compose.runtime.Composer' type=kotlin.Boolean origin=null
              ARG <this>: GET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=androidx.compose.runtime.Composer? origin=null
              ARG parametersChanged: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=null
                ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=null
                  ARG arg0: CALL 'public final fun and (other: kotlin.Int): kotlin.Int [infix] declared in kotlin.Int' type=kotlin.Int origin=null
                    ARG <this>: GET_VAR '$changed: kotlin.Int declared in com.example.home.foo' type=kotlin.Int origin=null
                    ARG other: CONST Int type=kotlin.Int value=1
                  ARG arg1: CONST Int type=kotlin.Int value=0
              ARG flags: CALL 'public final fun and (other: kotlin.Int): kotlin.Int [infix] declared in kotlin.Int' type=kotlin.Int origin=null
                ARG <this>: GET_VAR '$changed: kotlin.Int declared in com.example.home.foo' type=kotlin.Int origin=null
                ARG other: CONST Int type=kotlin.Int value=1
            then: BLOCK type=kotlin.Unit origin=null
              WHEN type=kotlin.Unit origin=IF
                BRANCH
                  if: CALL 'public final fun isTraceInProgress (): kotlin.Boolean declared in androidx.compose.runtime' type=kotlin.Boolean origin=null
                  then: CALL 'public final fun traceEventStart (key: kotlin.Int, dirty1: kotlin.Int, dirty2: kotlin.Int, info: kotlin.String): kotlin.Unit declared in androidx.compose.runtime' type=kotlin.Unit origin=null
                    ARG key: CONST Int type=kotlin.Int value=77127344
                    ARG dirty1: GET_VAR '$changed: kotlin.Int declared in com.example.home.foo' type=kotlin.Int origin=null
                    ARG dirty2: CONST Int type=kotlin.Int value=-1
                    ARG info: CONST String type=kotlin.String value="com.example.home.foo (main.kt:9)"
              WHEN type=kotlin.Unit origin=IF
                BRANCH
                  if: CALL 'public final fun isTraceInProgress (): kotlin.Boolean declared in androidx.compose.runtime' type=kotlin.Boolean origin=null
                  then: CALL 'public final fun traceEventEnd (): kotlin.Unit declared in androidx.compose.runtime' type=kotlin.Unit origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CALL 'public abstract fun skipToGroupEnd (): kotlin.Unit declared in androidx.compose.runtime.Composer' type=kotlin.Unit origin=null
              ARG <this>: GET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=androidx.compose.runtime.Composer? origin=null
        BLOCK type=kotlin.Unit origin=null
          BLOCK type=kotlin.Unit origin=SAFE_CALL
            VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:androidx.compose.runtime.ScopeUpdateScope? [val]
              CALL 'public abstract fun endRestartGroup (): androidx.compose.runtime.ScopeUpdateScope? declared in androidx.compose.runtime.Composer' type=androidx.compose.runtime.ScopeUpdateScope? origin=null
                ARG <this>: GET_VAR '$composer: androidx.compose.runtime.Composer? [assignable] declared in com.example.home.foo' type=androidx.compose.runtime.Composer? origin=null
            WHEN type=kotlin.Unit origin=IF
              BRANCH
                if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=null
                  ARG arg0: GET_VAR 'val tmp_0: androidx.compose.runtime.ScopeUpdateScope? [val] declared in com.example.home.foo' type=androidx.compose.runtime.ScopeUpdateScope? origin=null
                  ARG arg1: CONST Null type=kotlin.Any? value=null
                then: CONST Null type=kotlin.Any? value=null
              BRANCH
                if: CONST Boolean type=kotlin.Boolean value=true
                then: CALL 'public abstract fun updateScope (block: kotlin.Function2<androidx.compose.runtime.Composer, kotlin.Int, kotlin.Unit>): kotlin.Unit declared in androidx.compose.runtime.ScopeUpdateScope' type=kotlin.Unit origin=null
                  ARG <this>: GET_VAR 'val tmp_0: androidx.compose.runtime.ScopeUpdateScope? [val] declared in com.example.home.foo' type=androidx.compose.runtime.ScopeUpdateScope? origin=null
                  ARG block: FUN_EXPR type=kotlin.Function2<androidx.compose.runtime.Composer?, kotlin.Int, kotlin.Unit> origin=LAMBDA
                    FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                      VALUE_PARAMETER kind:Regular name:$composer index:0 type:androidx.compose.runtime.Composer?
                      VALUE_PARAMETER kind:Regular name:$force index:1 type:kotlin.Int
                      BLOCK_BODY
                        RETURN type=kotlin.Nothing from='local final fun <anonymous> ($composer: androidx.compose.runtime.Composer?, $force: kotlin.Int): kotlin.Unit declared in com.example.home.foo'
                          CALL 'public final fun foo (arg: com.example.interfaces.I?, $composer: androidx.compose.runtime.Composer?, $changed: kotlin.Int): kotlin.Unit declared in com.example.home' type=kotlin.Unit origin=null
                            ARG arg: GET_VAR 'arg: com.example.interfaces.I? declared in com.example.home.foo' type=com.example.interfaces.I? origin=null
                            ARG $composer: GET_VAR '$composer: androidx.compose.runtime.Composer? declared in com.example.home.foo.<anonymous>' type=androidx.compose.runtime.Composer? origin=null
                            ARG $changed: CALL 'internal final fun updateChangedFlags (flags: kotlin.Int): kotlin.Int declared in androidx.compose.runtime' type=kotlin.Int origin=null
                              ARG flags: CALL 'public final fun or (other: kotlin.Int): kotlin.Int [infix] declared in kotlin.Int' type=kotlin.Int origin=null
                                ARG <this>: GET_VAR '$changed: kotlin.Int declared in com.example.home.foo' type=kotlin.Int origin=null
                                ARG other: CONST Int type=kotlin.Int value=1
