FILE fqName:<root> fileName:/kt30020.kt
  CLASS INTERFACE name:X modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.X
    PROPERTY name:xs visibility:public modality:ABSTRACT [val]
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-xs> visibility:public modality:ABSTRACT <> ($this:<root>.X) returnType:kotlin.collections.MutableList<kotlin.Any>
        correspondingProperty: PROPERTY name:xs visibility:public modality:ABSTRACT [val]
        $this: VALUE_PARAMETER name:<this> type:<root>.X
    FUN name:f visibility:public modality:ABSTRACT <> ($this:<root>.X) returnType:kotlin.collections.MutableList<kotlin.Any>
      $this: VALUE_PARAMETER name:<this> type:<root>.X
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  FUN name:test visibility:public modality:FINAL <> (x:<root>.X, nx:<root>.X?) returnType:kotlin.Unit
    VALUE_PARAMETER name:x index:0 type:<root>.X
    VALUE_PARAMETER name:nx index:1 type:<root>.X?
    BLOCK_BODY
      ERROR_CALL 'Unresolved reference: R|/X.xs|' type=IrErrorType
      VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Any> [val]
        CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
          $this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
      SET_VAR 'val <complex-set>: kotlin.collections.MutableList<kotlin.Any> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Any> origin=null
        CONST Int type=kotlin.collections.MutableList<kotlin.Any> value=2
      VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Int> [val]
        TYPE_OP type=kotlin.collections.MutableList<kotlin.Int> origin=CAST typeOperand=kotlin.collections.MutableList<kotlin.Int>
          CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
            $this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
      SET_VAR 'val <complex-set>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
        CONST Int type=kotlin.collections.MutableList<kotlin.Int> value=3
      VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Int> [val]
        TYPE_OP type=kotlin.collections.MutableList<kotlin.Int> origin=CAST typeOperand=kotlin.collections.MutableList<kotlin.Int>
          CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any> origin=null
            $this: GET_VAR 'x: <root>.X declared in <root>.test' type=<root>.X origin=null
      SET_VAR 'val <complex-set>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
        CONST Int type=kotlin.collections.MutableList<kotlin.Int> value=4
      VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Int> [val]
        BLOCK type=kotlin.collections.MutableList<kotlin.Int> origin=EXCLEXCL
          VAR name:<bangbang> type:kotlin.collections.MutableList<kotlin.Int> [val]
            CALL 'public abstract fun <get-xs> (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Int> origin=null
              $this: GET_VAR 'nx: <root>.X? declared in <root>.test' type=<root>.X? origin=null
          WHEN type=kotlin.collections.MutableList<kotlin.Int> origin=EXCLEXCL
            BRANCH
              if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                arg0: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
                arg1: CONST Null type=kotlin.Nothing? value=null
              then: THROW type=kotlin.Nothing
                CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.KotlinNullPointerException' type=kotlin.KotlinNullPointerException origin=null
            BRANCH
              if: CONST Boolean type=kotlin.Boolean value=true
              then: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
      SET_VAR 'val <complex-set>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
        CONST Int type=kotlin.collections.MutableList<kotlin.Int> value=5
      VAR name:<complex-set> type:kotlin.collections.MutableList<kotlin.Int> [val]
        BLOCK type=kotlin.collections.MutableList<kotlin.Int> origin=EXCLEXCL
          VAR name:<bangbang> type:kotlin.collections.MutableList<kotlin.Any>? [val]
            CALL 'public abstract fun f (): kotlin.collections.MutableList<kotlin.Any> declared in <root>.X' type=kotlin.collections.MutableList<kotlin.Any>? origin=null
              $this: GET_VAR 'nx: <root>.X? declared in <root>.test' type=<root>.X origin=null
          WHEN type=kotlin.collections.MutableList<kotlin.Int> origin=EXCLEXCL
            BRANCH
              if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                arg0: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Any>? [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Any>? origin=null
                arg1: CONST Null type=kotlin.Nothing? value=null
              then: THROW type=kotlin.Nothing
                CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.KotlinNullPointerException' type=kotlin.KotlinNullPointerException origin=null
            BRANCH
              if: CONST Boolean type=kotlin.Boolean value=true
              then: GET_VAR 'val <bangbang>: kotlin.collections.MutableList<kotlin.Any>? [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
      SET_VAR 'val <complex-set>: kotlin.collections.MutableList<kotlin.Int> [val] declared in <root>.test' type=kotlin.collections.MutableList<kotlin.Int> origin=null
        CONST Int type=kotlin.collections.MutableList<kotlin.Int> value=6
  FUN name:testExtensionReceiver visibility:public modality:FINAL <> ($receiver:kotlin.collections.MutableList<kotlin.Any>) returnType:kotlin.Unit
    $receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList<kotlin.Any>
    BLOCK_BODY
      ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
  CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList<kotlin.Int>]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AML
    CONSTRUCTOR visibility:public <> () returnType:<root>.AML [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:AML modality:ABSTRACT visibility:public superTypes:[kotlin.collections.MutableList<kotlin.Int>]'
    FUN name:testExplicitThis visibility:public modality:FINAL <> ($this:<root>.AML) returnType:kotlin.Unit
      $this: VALUE_PARAMETER name:<this> type:<root>.AML
      BLOCK_BODY
        ERROR_CALL 'Unresolved reference: this#' type=IrErrorType
    CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
      $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.AML.Inner
      CONSTRUCTOR visibility:public <> () returnType:<root>.AML.Inner [primary]
        BLOCK_BODY
          DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
          INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
      FUN name:testOuterThis visibility:public modality:FINAL <> ($this:<root>.AML.Inner) returnType:kotlin.Unit
        $this: VALUE_PARAMETER name:<this> type:<root>.AML.Inner
        BLOCK_BODY
          ERROR_CALL 'Unresolved reference: this@AML#' type=IrErrorType
      FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
        overridden:
          public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
        $this: VALUE_PARAMETER name:<this> type:kotlin.Any
        VALUE_PARAMETER name:other index:0 type:kotlin.Any?
      FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int
        overridden:
          public open fun hashCode (): kotlin.Int declared in kotlin.Any
        $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
        overridden:
          public open fun toString (): kotlin.String declared in kotlin.Any
        $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:add visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean
      overridden:
        public abstract fun add (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:element index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:addAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
      overridden:
        public abstract fun addAll (index: kotlin.Int, elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:index index:0 type:kotlin.Int
      VALUE_PARAMETER name:elements index:1 type:kotlin.collections.Collection<kotlin.Int>
    FUN FAKE_OVERRIDE name:clear visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.Unit
      overridden:
        public abstract fun clear (): kotlin.Unit declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
    FUN FAKE_OVERRIDE name:listIterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList) returnType:kotlin.collections.MutableListIterator<kotlin.Int>
      overridden:
        public abstract fun listIterator (): kotlin.collections.MutableListIterator<E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
    FUN FAKE_OVERRIDE name:remove visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, element:kotlin.Int) returnType:kotlin.Boolean
      overridden:
        public abstract fun remove (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:element index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:removeAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
      overridden:
        public abstract fun removeAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
    FUN FAKE_OVERRIDE name:removeAt visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int) returnType:kotlin.Int
      overridden:
        public abstract fun removeAt (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:index index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:retainAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
      overridden:
        public abstract fun retainAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
    FUN FAKE_OVERRIDE name:set visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, index:kotlin.Int, element:kotlin.Int) returnType:kotlin.Int
      overridden:
        public abstract fun set (index: kotlin.Int, element: E of kotlin.collections.MutableList): E of kotlin.collections.MutableList declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:index index:0 type:kotlin.Int
      VALUE_PARAMETER name:element index:1 type:kotlin.Int
    FUN FAKE_OVERRIDE name:subList visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableList, fromIndex:kotlin.Int, toIndex:kotlin.Int) returnType:kotlin.collections.MutableList<kotlin.Int>
      overridden:
        public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.MutableList<E of kotlin.collections.MutableList> declared in kotlin.collections.MutableList
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableList
      VALUE_PARAMETER name:fromIndex index:0 type:kotlin.Int
      VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int
    FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Boolean
      overridden:
        public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
      VALUE_PARAMETER name:element index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean
      overridden:
        public abstract fun containsAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
      VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
    FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, index:kotlin.Int) returnType:kotlin.Int
      overridden:
        public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
      VALUE_PARAMETER name:index index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int
      overridden:
        public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
      VALUE_PARAMETER name:element index:0 type:kotlin.Int
    FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.Boolean
      overridden:
        public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
    FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List) returnType:kotlin.collections.Iterator<kotlin.Int>
      overridden:
        public abstract fun iterator (): kotlin.collections.Iterator<E of kotlin.collections.MutableList> declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
    FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List, element:kotlin.Int) returnType:kotlin.Int
      overridden:
        public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.List
      $this: VALUE_PARAMETER name:<this> type:kotlin.collections.List
      VALUE_PARAMETER name:element index:0 type:kotlin.Int
    PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [val]
      FUN FAKE_OVERRIDE name:<get-size> visibility:public modality:ABSTRACT <> ($this:<root>.AML) returnType:kotlin.Int
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [val]
        overridden:
          public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.List
        $this: VALUE_PARAMETER name:<this> type:<root>.AML
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
