FILE fqName:<root> fileName:/samConversions.kt
  FUN name:test0 visibility:public modality:FINAL <> (a:java.lang.Runnable) returnType:kotlin.Unit
    VALUE_PARAMETER name:a index:0 type:java.lang.Runnable
    BLOCK_BODY
      CALL 'public open fun runStatic (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
        r: GET_VAR 'a: java.lang.Runnable declared in <root>.test0' type=java.lang.Runnable origin=null
      CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
        r: GET_VAR 'a: java.lang.Runnable declared in <root>.test0' type=java.lang.Runnable origin=null
  FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
    BLOCK_BODY
      ERROR_CALL 'Unresolved reference: <Unresolved name: runStatic>#' type=IrErrorType
        BLOCK type=IrErrorType origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:IrErrorType
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='local final fun <anonymous> (): IrErrorType declared in <root>.test1'
                CALL 'public final fun test1 (): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          FUNCTION_REFERENCE 'local final fun <anonymous> (): IrErrorType declared in <root>.test1' type=IrErrorType origin=LAMBDA
  FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit
    BLOCK_BODY
      CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
        r: BLOCK type=IrErrorType origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:IrErrorType
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='local final fun <anonymous> (): IrErrorType declared in <root>.test2'
                CALL 'public final fun test1 (): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
          FUNCTION_REFERENCE 'local final fun <anonymous> (): IrErrorType declared in <root>.test2' type=IrErrorType origin=LAMBDA
  FUN name:test3 visibility:public modality:FINAL <> (a:kotlin.Function0) returnType:kotlin.Unit
    VALUE_PARAMETER name:a index:0 type:kotlin.Function0
    BLOCK_BODY
      CALL 'public open fun run2 (r1: java.lang.Runnable?, r2: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
        r1: GET_VAR 'a: kotlin.Function0 declared in <root>.test3' type=kotlin.Function0 origin=null
        r2: GET_VAR 'a: kotlin.Function0 declared in <root>.test3' type=kotlin.Function0 origin=null
  FUN name:test4 visibility:public modality:FINAL <> (a:kotlin.Function0, b:kotlin.Function0, flag:kotlin.Boolean) returnType:kotlin.Unit
    VALUE_PARAMETER name:a index:0 type:kotlin.Function0
    VALUE_PARAMETER name:b index:1 type:kotlin.Function0
    VALUE_PARAMETER name:flag index:2 type:kotlin.Boolean
    BLOCK_BODY
      CALL 'public open fun runIt (r: java.lang.Runnable?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
        r: WHEN type=kotlin.Function0 origin=IF
          BRANCH
            if: GET_VAR 'flag: kotlin.Boolean declared in <root>.test4' type=kotlin.Boolean origin=null
            then: GET_VAR 'a: kotlin.Function0 declared in <root>.test4' type=kotlin.Function0 origin=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: GET_VAR 'b: kotlin.Function0 declared in <root>.test4' type=kotlin.Function0 origin=null
