FILE fqName:<root> fileName:/for.kt
  FUN name:testEmpty visibility:public modality:FINAL <> (ss:kotlin.collections.List<kotlin.String>) returnType:kotlin.Unit flags:[]
    VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List<kotlin.String> flags:[]
    BLOCK_BODY
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<kotlin.collections.List.E>) returnType:kotlin.collections.Iterator<kotlin.collections.List.E> flags:[]' type=kotlin.collections.Iterator<kotlin.String> origin=FOR_LOOP_ITERATOR
            $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List<kotlin.String> flags:[]' type=kotlin.collections.List<kotlin.String> origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]' type=kotlin.collections.Iterator<kotlin.String> origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val]
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT
                $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]' type=kotlin.collections.Iterator<kotlin.String> origin=null
  FUN name:testIterable visibility:public modality:FINAL <> (ss:kotlin.collections.List<kotlin.String>) returnType:kotlin.Unit flags:[]
    VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List<kotlin.String> flags:[]
    BLOCK_BODY
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<kotlin.collections.List.E>) returnType:kotlin.collections.Iterator<kotlin.collections.List.E> flags:[]' type=kotlin.collections.Iterator<kotlin.String> origin=FOR_LOOP_ITERATOR
            $this: GET_VAR 'VALUE_PARAMETER name:ss index:0 type:kotlin.collections.List<kotlin.String> flags:[]' type=kotlin.collections.List<kotlin.String> origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]' type=kotlin.collections.Iterator<kotlin.String> origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val]
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.String origin=FOR_LOOP_NEXT
                $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.String> flags:[val]' type=kotlin.collections.Iterator<kotlin.String> origin=null
            BLOCK type=kotlin.Unit origin=null
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
                message: GET_VAR 'VAR FOR_LOOP_VARIABLE name:s type:kotlin.String flags:[val]' type=kotlin.String origin=null
  FUN name:testDestructuring visibility:public modality:FINAL <> (pp:kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>>) returnType:kotlin.Unit flags:[]
    VALUE_PARAMETER name:pp index:0 type:kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>> flags:[]
    BLOCK_BODY
      BLOCK type=kotlin.Unit origin=FOR_LOOP
        VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> flags:[val]
          CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<kotlin.collections.List.E>) returnType:kotlin.collections.Iterator<kotlin.collections.List.E> flags:[]' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> origin=FOR_LOOP_ITERATOR
            $this: GET_VAR 'VALUE_PARAMETER name:pp index:0 type:kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>> flags:[]' type=kotlin.collections.List<kotlin.Pair<kotlin.Int, kotlin.String>> origin=null
        WHILE label=null origin=FOR_LOOP_INNER_WHILE
          condition: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
            $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> flags:[val]' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> origin=null
          body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
            VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair<kotlin.Int, kotlin.String> flags:[val]
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.collections.Iterator.T>) returnType:kotlin.collections.Iterator.T flags:[]' type=kotlin.Pair<kotlin.Int, kotlin.String> origin=FOR_LOOP_NEXT
                $this: GET_VAR 'VAR FOR_LOOP_ITERATOR name:tmp0_iterator type:kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> flags:[val]' type=kotlin.collections.Iterator<kotlin.Pair<kotlin.Int, kotlin.String>> origin=null
            VAR name:i type:kotlin.Int flags:[val]
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:component1 visibility:public modality:FINAL <> ($this:kotlin.Pair<kotlin.Pair.A, kotlin.Pair.B>) returnType:kotlin.Pair.A flags:[]' type=kotlin.Int origin=COMPONENT_N(index=1)
                $this: GET_VAR 'VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair<kotlin.Int, kotlin.String> flags:[val]' type=kotlin.Pair<kotlin.Int, kotlin.String> origin=null
            VAR name:s type:kotlin.String flags:[val]
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:component2 visibility:public modality:FINAL <> ($this:kotlin.Pair<kotlin.Pair.A, kotlin.Pair.B>) returnType:kotlin.Pair.B flags:[]' type=kotlin.String origin=COMPONENT_N(index=2)
                $this: GET_VAR 'VAR FOR_LOOP_IMPLICIT_VARIABLE name:tmp1_loop_parameter type:kotlin.Pair<kotlin.Int, kotlin.String> flags:[val]' type=kotlin.Pair<kotlin.Int, kotlin.String> origin=null
            BLOCK type=kotlin.Unit origin=null
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Int) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
                message: GET_VAR 'VAR name:i type:kotlin.Int flags:[val]' type=kotlin.Int origin=null
              CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:println visibility:public modality:FINAL <> (message:kotlin.Any?) returnType:kotlin.Unit flags:[inline]' type=kotlin.Unit origin=null
                message: GET_VAR 'VAR name:s type:kotlin.String flags:[val]' type=kotlin.String origin=null
