FILE fqName:<root> fileName:/dataClassWithArrayMembers.kt
  CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test1 flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    CONSTRUCTOR visibility:public <> (stringArray:kotlin.Array<kotlin.String>, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:Test1 flags:
      VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array<kotlin.String> flags:
      VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:
      VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:
      VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:
      VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:
      VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:
      VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:
      VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:
      VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='Test1'
    PROPERTY name:stringArray type:kotlin.Array<kotlin.String> visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:stringArray type:kotlin.Array<kotlin.String> visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter stringArray: Array<String>' type=kotlin.Array<kotlin.String> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-stringArray> visibility:public modality:FINAL <> ($this:Test1) returnType:Array<String> flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-stringArray>(): Array<String>'
            GET_FIELD 'stringArray: Array<String>' type=kotlin.Array<kotlin.String> origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:charArray type:kotlin.CharArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:charArray type:kotlin.CharArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter charArray: CharArray' type=kotlin.CharArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-charArray> visibility:public modality:FINAL <> ($this:Test1) returnType:CharArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-charArray>(): CharArray'
            GET_FIELD 'charArray: CharArray' type=kotlin.CharArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:booleanArray type:kotlin.BooleanArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:booleanArray type:kotlin.BooleanArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter booleanArray: BooleanArray' type=kotlin.BooleanArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-booleanArray> visibility:public modality:FINAL <> ($this:Test1) returnType:BooleanArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-booleanArray>(): BooleanArray'
            GET_FIELD 'booleanArray: BooleanArray' type=kotlin.BooleanArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:byteArray type:kotlin.ByteArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:byteArray type:kotlin.ByteArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter byteArray: ByteArray' type=kotlin.ByteArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-byteArray> visibility:public modality:FINAL <> ($this:Test1) returnType:ByteArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-byteArray>(): ByteArray'
            GET_FIELD 'byteArray: ByteArray' type=kotlin.ByteArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:shortArray type:kotlin.ShortArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:shortArray type:kotlin.ShortArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter shortArray: ShortArray' type=kotlin.ShortArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-shortArray> visibility:public modality:FINAL <> ($this:Test1) returnType:ShortArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-shortArray>(): ShortArray'
            GET_FIELD 'shortArray: ShortArray' type=kotlin.ShortArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:intArray type:kotlin.IntArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:intArray type:kotlin.IntArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter intArray: IntArray' type=kotlin.IntArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-intArray> visibility:public modality:FINAL <> ($this:Test1) returnType:IntArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-intArray>(): IntArray'
            GET_FIELD 'intArray: IntArray' type=kotlin.IntArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:longArray type:kotlin.LongArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:longArray type:kotlin.LongArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter longArray: LongArray' type=kotlin.LongArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-longArray> visibility:public modality:FINAL <> ($this:Test1) returnType:LongArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-longArray>(): LongArray'
            GET_FIELD 'longArray: LongArray' type=kotlin.LongArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:floatArray type:kotlin.FloatArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:floatArray type:kotlin.FloatArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter floatArray: FloatArray' type=kotlin.FloatArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-floatArray> visibility:public modality:FINAL <> ($this:Test1) returnType:FloatArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-floatArray>(): FloatArray'
            GET_FIELD 'floatArray: FloatArray' type=kotlin.FloatArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    PROPERTY name:doubleArray type:kotlin.DoubleArray visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:doubleArray type:kotlin.DoubleArray visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter doubleArray: DoubleArray' type=kotlin.DoubleArray origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-doubleArray> visibility:public modality:FINAL <> ($this:Test1) returnType:DoubleArray flags:
        $this: VALUE_PARAMETER name:<this> type:Test1 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-doubleArray>(): DoubleArray'
            GET_FIELD 'doubleArray: DoubleArray' type=kotlin.DoubleArray origin=null
              receiver: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test1) returnType:Array<String> flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component1(): Array<String>'
          CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component2 visibility:public modality:FINAL <> ($this:Test1) returnType:CharArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component2(): CharArray'
          CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component3 visibility:public modality:FINAL <> ($this:Test1) returnType:BooleanArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component3(): BooleanArray'
          CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component4 visibility:public modality:FINAL <> ($this:Test1) returnType:ByteArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component4(): ByteArray'
          CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component5 visibility:public modality:FINAL <> ($this:Test1) returnType:ShortArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component5(): ShortArray'
          CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component6 visibility:public modality:FINAL <> ($this:Test1) returnType:IntArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component6(): IntArray'
          CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component7 visibility:public modality:FINAL <> ($this:Test1) returnType:LongArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component7(): LongArray'
          CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component8 visibility:public modality:FINAL <> ($this:Test1) returnType:FloatArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component8(): FloatArray'
          CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component9 visibility:public modality:FINAL <> ($this:Test1) returnType:DoubleArray flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component9(): DoubleArray'
          CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test1, stringArray:kotlin.Array<kotlin.String>, charArray:kotlin.CharArray, booleanArray:kotlin.BooleanArray, byteArray:kotlin.ByteArray, shortArray:kotlin.ShortArray, intArray:kotlin.IntArray, longArray:kotlin.LongArray, floatArray:kotlin.FloatArray, doubleArray:kotlin.DoubleArray) returnType:Test1 flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      VALUE_PARAMETER name:stringArray index:0 type:kotlin.Array<kotlin.String> flags:
        EXPRESSION_BODY
          CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:charArray index:1 type:kotlin.CharArray flags:
        EXPRESSION_BODY
          CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:booleanArray index:2 type:kotlin.BooleanArray flags:
        EXPRESSION_BODY
          CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:byteArray index:3 type:kotlin.ByteArray flags:
        EXPRESSION_BODY
          CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:shortArray index:4 type:kotlin.ShortArray flags:
        EXPRESSION_BODY
          CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:intArray index:5 type:kotlin.IntArray flags:
        EXPRESSION_BODY
          CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:longArray index:6 type:kotlin.LongArray flags:
        EXPRESSION_BODY
          CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:floatArray index:7 type:kotlin.FloatArray flags:
        EXPRESSION_BODY
          CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      VALUE_PARAMETER name:doubleArray index:8 type:kotlin.DoubleArray flags:
        EXPRESSION_BODY
          CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
            $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='copy(Array<String> = ..., CharArray = ..., BooleanArray = ..., ByteArray = ..., ShortArray = ..., IntArray = ..., LongArray = ..., FloatArray = ..., DoubleArray = ...): Test1'
          CALL 'constructor Test1(Array<String>, CharArray, BooleanArray, ByteArray, ShortArray, IntArray, LongArray, FloatArray, DoubleArray)' type=Test1 origin=null
            stringArray: GET_VAR 'value-parameter stringArray: Array<String> = ...' type=kotlin.Array<kotlin.String> origin=null
            charArray: GET_VAR 'value-parameter charArray: CharArray = ...' type=kotlin.CharArray origin=null
            booleanArray: GET_VAR 'value-parameter booleanArray: BooleanArray = ...' type=kotlin.BooleanArray origin=null
            byteArray: GET_VAR 'value-parameter byteArray: ByteArray = ...' type=kotlin.ByteArray origin=null
            shortArray: GET_VAR 'value-parameter shortArray: ShortArray = ...' type=kotlin.ShortArray origin=null
            intArray: GET_VAR 'value-parameter intArray: IntArray = ...' type=kotlin.IntArray origin=null
            longArray: GET_VAR 'value-parameter longArray: LongArray = ...' type=kotlin.LongArray origin=null
            floatArray: GET_VAR 'value-parameter floatArray: FloatArray = ...' type=kotlin.FloatArray origin=null
            doubleArray: GET_VAR 'value-parameter doubleArray: DoubleArray = ...' type=kotlin.DoubleArray origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test1) returnType:String flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='toString(): String'
          STRING_CONCATENATION type=kotlin.String
            CONST String type=kotlin.String value=Test1(
            CONST String type=kotlin.String value=stringArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=charArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=booleanArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=byteArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=shortArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=intArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=longArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=floatArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=, 
            CONST String type=kotlin.String value=doubleArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
            CONST String type=kotlin.String value=)
    FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test1) returnType:Int flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var
          CONST Int type=kotlin.Int value=0
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
            arg0: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
              $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'plus(Int): Int' type=kotlin.Int origin=null
            $this: CALL 'times(Int): Int' type=kotlin.Int origin=null
              $this: GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
              other: CONST Int type=kotlin.Int value=31
            other: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
              arg0: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
                $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
        RETURN type=kotlin.Nothing from='hashCode(): Int'
          GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test1, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:Test1 flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
      BLOCK_BODY
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ
              arg0: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
              arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=true
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test1
              typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
              GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test1 flags:val
          TYPE_OP type=Test1 origin=CAST typeOperand=Test1
            typeOperand: CLASS CLASS name:Test1 modality:FINAL visibility:public flags:data
            GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-stringArray>(): Array<String>' type=kotlin.Array<kotlin.String> origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-charArray>(): CharArray' type=kotlin.CharArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-booleanArray>(): BooleanArray' type=kotlin.BooleanArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-byteArray>(): ByteArray' type=kotlin.ByteArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-shortArray>(): ShortArray' type=kotlin.ShortArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-intArray>(): IntArray' type=kotlin.IntArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-longArray>(): LongArray' type=kotlin.LongArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-floatArray>(): FloatArray' type=kotlin.FloatArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test1: Test1' type=Test1 origin=null
                arg1: CALL '<get-doubleArray>(): DoubleArray' type=kotlin.DoubleArray origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test1' type=Test1 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
          CONST Boolean type=kotlin.Boolean value=true
  CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test2<T> flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    TYPE_PARAMETER name:T index:0 variance: upperBounds:[kotlin.Any?]
      superClassifiers:
        CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    CONSTRUCTOR visibility:public <> (genericArray:kotlin.Array<T>) returnType:Test2<T> flags:
      VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<T> flags:
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='Test2'
    PROPERTY name:genericArray type:kotlin.Array<T> visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:genericArray type:kotlin.Array<T> visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter genericArray: Array<T>' type=kotlin.Array<T> origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-genericArray> visibility:public modality:FINAL <> ($this:Test2<T>) returnType:Array<T> flags:
        $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-genericArray>(): Array<T>'
            GET_FIELD 'genericArray: Array<T>' type=kotlin.Array<T> origin=null
              receiver: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test2<T>) returnType:Array<T> flags:
      $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component1(): Array<T>'
          CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
            $this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test2<T>, genericArray:kotlin.Array<T>) returnType:Test2<T> flags:
      $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
      VALUE_PARAMETER name:genericArray index:0 type:kotlin.Array<T> flags:
        EXPRESSION_BODY
          CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
            $this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='copy(Array<T> = ...): Test2<T>'
          CALL 'constructor Test2(Array<T>)' type=Test2<T> origin=null
            <T>: T
            genericArray: GET_VAR 'value-parameter genericArray: Array<T> = ...' type=kotlin.Array<T> origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test2<T>) returnType:String flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='toString(): String'
          STRING_CONCATENATION type=kotlin.String
            CONST String type=kotlin.String value=Test2(
            CONST String type=kotlin.String value=genericArray=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
                $this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
            CONST String type=kotlin.String value=)
    FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test2<T>) returnType:Int flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var
          CONST Int type=kotlin.Int value=0
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
            arg0: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
              $this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
        RETURN type=kotlin.Nothing from='hashCode(): Int'
          GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test2<T>, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:Test2<T> flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
      BLOCK_BODY
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ
              arg0: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
              arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=true
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test2<T>
              typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
              GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test2<T> flags:val
          TYPE_OP type=Test2<T> origin=CAST typeOperand=Test2<T>
            typeOperand: CLASS CLASS name:Test2 modality:FINAL visibility:public flags:data
            GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test2: Test2<T>' type=Test2<T> origin=null
                arg1: CALL '<get-genericArray>(): Array<T>' type=kotlin.Array<T> origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test2<T>' type=Test2<T> origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
          CONST Boolean type=kotlin.Boolean value=true
  CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:Test3 flags:
    superClasses:
      CLASS IR_EXTERNAL_DECLARATION_STUB CLASS name:Any modality:OPEN visibility:public flags:
    CONSTRUCTOR visibility:public <> (anyArrayN:kotlin.Array<kotlin.Any>?) returnType:Test3 flags:
      VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array<kotlin.Any>? flags:
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
        INSTANCE_INITIALIZER_CALL classDescriptor='Test3'
    PROPERTY name:anyArrayN type:kotlin.Array<kotlin.Any>? visibility:public modality:FINAL flags:val
      FIELD PROPERTY_BACKING_FIELD name:anyArrayN type:kotlin.Array<kotlin.Any>? visibility:public
        EXPRESSION_BODY
          GET_VAR 'value-parameter anyArrayN: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-anyArrayN> visibility:public modality:FINAL <> ($this:Test3) returnType:Array<Any>? flags:
        $this: VALUE_PARAMETER name:<this> type:Test3 flags:
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='<get-anyArrayN>(): Array<Any>?'
            GET_FIELD 'anyArrayN: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=null
              receiver: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:component1 visibility:public modality:FINAL <> ($this:Test3) returnType:Array<Any>? flags:
      $this: VALUE_PARAMETER name:<this> type:Test3 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='component1(): Array<Any>?'
          CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
            $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:copy visibility:public modality:FINAL <> ($this:Test3, anyArrayN:kotlin.Array<kotlin.Any>?) returnType:Test3 flags:
      $this: VALUE_PARAMETER name:<this> type:Test3 flags:
      VALUE_PARAMETER name:anyArrayN index:0 type:kotlin.Array<kotlin.Any>? flags:
        EXPRESSION_BODY
          CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
            $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='copy(Array<Any>? = ...): Test3'
          CALL 'constructor Test3(Array<Any>?)' type=Test3 origin=null
            anyArrayN: GET_VAR 'value-parameter anyArrayN: Array<Any>? = ...' type=kotlin.Array<kotlin.Any>? origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:Test3) returnType:String flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:String flags:
      $this: VALUE_PARAMETER name:<this> type:Test3 flags:
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='toString(): String'
          STRING_CONCATENATION type=kotlin.String
            CONST String type=kotlin.String value=Test3(
            CONST String type=kotlin.String value=anyArrayN=
            CALL 'dataClassArrayMemberToString(Any?): String' type=kotlin.String origin=null
              arg0: CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
                $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
            CONST String type=kotlin.String value=)
    FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:Test3) returnType:Int flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:Int flags:
      $this: VALUE_PARAMETER name:<this> type:Test3 flags:
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp0_result type:kotlin.Int flags:var
          CONST Int type=kotlin.Int value=0
        SET_VAR 'tmp0_result: Int' type=kotlin.Unit origin=EQ
          BLOCK type=kotlin.Int origin=null
            VAR IR_TEMPORARY_VARIABLE name:tmp1 type:kotlin.Array<kotlin.Any>? flags:val
              CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
                $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
            WHEN type=kotlin.Int origin=null
              BRANCH
                if: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQ
                  arg0: GET_VAR 'tmp1: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=null
                  arg1: CONST Null type=kotlin.Nothing? value=null
                then: CONST Int type=kotlin.Int value=0
              BRANCH
                if: CONST Boolean type=kotlin.Boolean value=true
                then: CALL 'dataClassArrayMemberHashCode(Any): Int' type=kotlin.Int origin=null
                  arg0: GET_VAR 'tmp1: Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=null
        RETURN type=kotlin.Nothing from='hashCode(): Int'
          GET_VAR 'tmp0_result: Int' type=kotlin.Int origin=null
    FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:Test3, other:kotlin.Any?) returnType:Boolean flags:
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:Boolean flags:
      $this: VALUE_PARAMETER name:<this> type:Test3 flags:
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:
      BLOCK_BODY
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'EQEQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EQEQEQ
              arg0: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
              arg1: GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=true
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: TYPE_OP type=kotlin.Boolean origin=NOT_INSTANCEOF typeOperand=Test3
              typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
              GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        VAR IR_TEMPORARY_VARIABLE name:tmp0_other_with_cast type:Test3 flags:val
          TYPE_OP type=Test3 origin=CAST typeOperand=Test3
            typeOperand: CLASS CLASS name:Test3 modality:FINAL visibility:public flags:data
            GET_VAR 'value-parameter other: Any?' type=kotlin.Any? origin=null
        WHEN type=kotlin.Unit origin=null
          BRANCH
            if: CALL 'NOT(Boolean): Boolean' type=kotlin.Boolean origin=EXCLEQ
              arg0: CALL 'EQEQ(Any?, Any?): Boolean' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
                  $this: GET_VAR 'this@Test3: Test3' type=Test3 origin=null
                arg1: CALL '<get-anyArrayN>(): Array<Any>?' type=kotlin.Array<kotlin.Any>? origin=GET_PROPERTY
                  $this: GET_VAR 'tmp0_other_with_cast: Test3' type=Test3 origin=null
            then: RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
              CONST Boolean type=kotlin.Boolean value=false
        RETURN type=kotlin.Nothing from='equals(Any?): Boolean'
          CONST Boolean type=kotlin.Boolean value=true

