FILE fqName:<root> fileName:/arrayConstructorWithNonInlineLambda.kt
  PROPERTY name:size visibility:public modality:FINAL [val]
    FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final,static]
      EXPRESSION_BODY
        CONST Int type=kotlin.Int value=10
    FUN DEFAULT_PROPERTY_ACCESSOR name:<get-size> visibility:public modality:FINAL returnType:kotlin.Int
      correspondingProperty: PROPERTY name:size visibility:public modality:FINAL [val]
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun <get-size> (): kotlin.Int declared in <root>'
          GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:size type:kotlin.Int visibility:private [final,static]' type=kotlin.Int origin=null
  FUN name:box visibility:public modality:FINAL returnType:kotlin.String
    BLOCK_BODY
      VAR name:intArray type:kotlin.IntArray [val]
        CONSTRUCTOR_CALL 'public constructor <init> (size: kotlin.Int) declared in kotlin.IntArray' type=kotlin.IntArray origin=null
          ARG size: CALL 'public final fun <get-size> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
      VAR name:array type:kotlin.Array<kotlin.Function0<kotlin.Int>> [val]
        CONSTRUCTOR_CALL 'public constructor <init> (size: kotlin.Int, init: kotlin.Function1<kotlin.Int, T of kotlin.Array>) declared in kotlin.Array' type=kotlin.Array<kotlin.Function0<kotlin.Int>> origin=null
          TYPE_ARG (of class) T: kotlin.Function0<kotlin.Int>
          ARG size: CALL 'public final fun <get-size> (): kotlin.Int declared in <root>' type=kotlin.Int origin=GET_PROPERTY
          ARG init: FUN_EXPR type=kotlin.Function1<kotlin.Int, kotlin.Function0<kotlin.Int>> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Function0<kotlin.Int>
              VALUE_PARAMETER kind:Regular name:i index:0 type:kotlin.Int
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (i: kotlin.Int): kotlin.Function0<kotlin.Int> declared in <root>.box'
                  FUN_EXPR type=kotlin.Function0<kotlin.Int> origin=LAMBDA
                    FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Int
                      BLOCK_BODY
                        VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlin.IntArray [val]
                          GET_VAR 'val intArray: kotlin.IntArray declared in <root>.box' type=kotlin.IntArray origin=null
                        VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.Int [val]
                          GET_VAR 'i: kotlin.Int declared in <root>.box.<anonymous>' type=kotlin.Int origin=null
                        VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlin.Int [val]
                          CALL 'public final fun get (index: kotlin.Int): kotlin.Int declared in kotlin.IntArray' type=kotlin.Int origin=POSTFIX_INCR
                            ARG <this>: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.IntArray origin=null
                            ARG index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.Int origin=null
                        CALL 'public final fun set (index: kotlin.Int, value: kotlin.Int): kotlin.Unit declared in kotlin.IntArray' type=kotlin.Unit origin=POSTFIX_INCR
                          ARG <this>: GET_VAR 'val tmp_0: kotlin.IntArray declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.IntArray origin=null
                          ARG index: GET_VAR 'val tmp_1: kotlin.Int declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.Int origin=null
                          ARG value: CALL 'public final fun inc (): kotlin.Int declared in kotlin.Int' type=kotlin.Int origin=POSTFIX_INCR
                            ARG <this>: GET_VAR 'val tmp_2: kotlin.Int declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.Int origin=null
                        RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Int declared in <root>.box.<anonymous>'
                          GET_VAR 'val tmp_2: kotlin.Int declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.Int origin=null
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.IntIterator [val]
          CALL 'public final fun iterator (): kotlin.collections.IntIterator declared in kotlin.IntArray' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
            ARG <this>: GET_VAR 'val intArray: kotlin.IntArray declared in <root>.box' type=kotlin.IntArray origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            ARG <this>: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.box' type=kotlin.collections.IntIterator origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
              CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
                ARG <this>: GET_VAR 'val tmp_3: kotlin.collections.IntIterator declared in <root>.box' type=kotlin.collections.IntIterator origin=null
            BLOCK type=kotlin.Unit origin=null
              CALL 'public final fun assertEquals <T> (expected: T of kotlin.test.assertEquals, actual: T of kotlin.test.assertEquals, message: kotlin.String?): kotlin.Unit declared in kotlin.test' type=kotlin.Unit origin=null
                TYPE_ARG T: kotlin.Int
                ARG expected: CONST Int type=kotlin.Int value=0
                ARG actual: GET_VAR 'val i: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp_4 type:kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> [val]
          CALL 'public final fun iterator (): kotlin.collections.Iterator<T of kotlin.Array> declared in kotlin.Array' type=kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> origin=FOR_LOOP_ITERATOR
            ARG <this>: GET_VAR 'val array: kotlin.Array<kotlin.Function0<kotlin.Int>> declared in <root>.box' type=kotlin.Array<kotlin.Function0<kotlin.Int>> origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            ARG <this>: GET_VAR 'val tmp_4: kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> declared in <root>.box' type=kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:a type:kotlin.Function0<kotlin.Int> [val]
              CALL 'public abstract fun next (): T of kotlin.collections.Iterator declared in kotlin.collections.Iterator' type=kotlin.Function0<kotlin.Int> origin=FOR_LOOP_NEXT
                ARG <this>: GET_VAR 'val tmp_4: kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> declared in <root>.box' type=kotlin.collections.Iterator<kotlin.Function0<kotlin.Int>> origin=null
            BLOCK type=kotlin.Unit origin=null
              TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
                CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Int origin=INVOKE
                  ARG <this>: GET_VAR 'val a: kotlin.Function0<kotlin.Int> declared in <root>.box' type=kotlin.Function0<kotlin.Int> origin=VARIABLE_AS_FUNCTION
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp_5 type:kotlin.collections.IntIterator [val]
          CALL 'public final fun iterator (): kotlin.collections.IntIterator declared in kotlin.IntArray' type=kotlin.collections.IntIterator origin=FOR_LOOP_ITERATOR
            ARG <this>: GET_VAR 'val intArray: kotlin.IntArray declared in <root>.box' type=kotlin.IntArray origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'public abstract fun hasNext (): kotlin.Boolean declared in kotlin.collections.IntIterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            ARG <this>: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.box' type=kotlin.collections.IntIterator origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:i type:kotlin.Int [val]
              CALL 'public final fun next (): kotlin.Int declared in kotlin.collections.IntIterator' type=kotlin.Int origin=FOR_LOOP_NEXT
                ARG <this>: GET_VAR 'val tmp_5: kotlin.collections.IntIterator declared in <root>.box' type=kotlin.collections.IntIterator origin=null
            BLOCK type=kotlin.Unit origin=null
              CALL 'public final fun assertEquals <T> (expected: T of kotlin.test.assertEquals, actual: T of kotlin.test.assertEquals, message: kotlin.String?): kotlin.Unit declared in kotlin.test' type=kotlin.Unit origin=null
                TYPE_ARG T: kotlin.Int
                ARG expected: CONST Int type=kotlin.Int value=1
                ARG actual: GET_VAR 'val i: kotlin.Int declared in <root>.box' type=kotlin.Int origin=null
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK"
