data class Test1 { constructor(stringArray: Array, charArray: CharArray, booleanArray: BooleanArray, byteArray: ByteArray, shortArray: ShortArray, intArray: IntArray, longArray: LongArray, floatArray: FloatArray, doubleArray: DoubleArray) /* primary */ { super/*Any*/() /* InstanceInitializerCall */ } val stringArray: Array field = stringArray get val charArray: CharArray field = charArray get val booleanArray: BooleanArray field = booleanArray get val byteArray: ByteArray field = byteArray get val shortArray: ShortArray field = shortArray get val intArray: IntArray field = intArray get val longArray: LongArray field = longArray get val floatArray: FloatArray field = floatArray get val doubleArray: DoubleArray field = doubleArray get operator fun component1(): Array { return #stringArray } operator fun component2(): CharArray { return #charArray } operator fun component3(): BooleanArray { return #booleanArray } operator fun component4(): ByteArray { return #byteArray } operator fun component5(): ShortArray { return #shortArray } operator fun component6(): IntArray { return #intArray } operator fun component7(): LongArray { return #longArray } operator fun component8(): FloatArray { return #floatArray } operator fun component9(): DoubleArray { return #doubleArray } fun copy(stringArray: Array = #stringArray, charArray: CharArray = #charArray, booleanArray: BooleanArray = #booleanArray, byteArray: ByteArray = #byteArray, shortArray: ShortArray = #shortArray, intArray: IntArray = #intArray, longArray: LongArray = #longArray, floatArray: FloatArray = #floatArray, doubleArray: DoubleArray = #doubleArray): Test1 { return Test1(stringArray = stringArray, charArray = charArray, booleanArray = booleanArray, byteArray = byteArray, shortArray = shortArray, intArray = intArray, longArray = longArray, floatArray = floatArray, doubleArray = doubleArray) } override fun toString(): String { return "Test1(" + "stringArray=" + dataClassArrayMemberToString(arg0 = #stringArray) + ", " + "charArray=" + dataClassArrayMemberToString(arg0 = #charArray) + ", " + "booleanArray=" + dataClassArrayMemberToString(arg0 = #booleanArray) + ", " + "byteArray=" + dataClassArrayMemberToString(arg0 = #byteArray) + ", " + "shortArray=" + dataClassArrayMemberToString(arg0 = #shortArray) + ", " + "intArray=" + dataClassArrayMemberToString(arg0 = #intArray) + ", " + "longArray=" + dataClassArrayMemberToString(arg0 = #longArray) + ", " + "floatArray=" + dataClassArrayMemberToString(arg0 = #floatArray) + ", " + "doubleArray=" + dataClassArrayMemberToString(arg0 = #doubleArray) + ")" } override fun hashCode(): Int { var result: Int = dataClassArrayMemberHashCode(arg0 = #stringArray) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #charArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #booleanArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #byteArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #shortArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #intArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #longArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #floatArray)) result = result.times(other = 31).plus(other = dataClassArrayMemberHashCode(arg0 = #doubleArray)) return result } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test1 -> return false } val tmp0_other_with_cast: Test1 = other as Test1 when { EQEQ(arg0 = #stringArray, arg1 = #stringArray).not() -> return false } when { EQEQ(arg0 = #charArray, arg1 = #charArray).not() -> return false } when { EQEQ(arg0 = #booleanArray, arg1 = #booleanArray).not() -> return false } when { EQEQ(arg0 = #byteArray, arg1 = #byteArray).not() -> return false } when { EQEQ(arg0 = #shortArray, arg1 = #shortArray).not() -> return false } when { EQEQ(arg0 = #intArray, arg1 = #intArray).not() -> return false } when { EQEQ(arg0 = #longArray, arg1 = #longArray).not() -> return false } when { EQEQ(arg0 = #floatArray, arg1 = #floatArray).not() -> return false } when { EQEQ(arg0 = #doubleArray, arg1 = #doubleArray).not() -> return false } return true } } data class Test2 { constructor(genericArray: Array) /* primary */ { super/*Any*/() /* InstanceInitializerCall */ } val genericArray: Array field = genericArray get operator fun component1(): Array { return #genericArray } fun copy(genericArray: Array = #genericArray): Test2 { return Test2(genericArray = genericArray) } override fun toString(): String { return "Test2(" + "genericArray=" + dataClassArrayMemberToString(arg0 = #genericArray) + ")" } override fun hashCode(): Int { return dataClassArrayMemberHashCode(arg0 = #genericArray) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test2 -> return false } val tmp0_other_with_cast: Test2 = other as Test2 when { EQEQ(arg0 = #genericArray, arg1 = #genericArray).not() -> return false } return true } } data class Test3 { constructor(anyArrayN: Array?) /* primary */ { super/*Any*/() /* InstanceInitializerCall */ } val anyArrayN: Array? field = anyArrayN get operator fun component1(): Array? { return #anyArrayN } fun copy(anyArrayN: Array? = #anyArrayN): Test3 { return Test3(anyArrayN = anyArrayN) } override fun toString(): String { return "Test3(" + "anyArrayN=" + dataClassArrayMemberToString(arg0 = #anyArrayN) + ")" } override fun hashCode(): Int { return when { EQEQ(arg0 = #anyArrayN, arg1 = null) -> 0 true -> dataClassArrayMemberHashCode(arg0 = #anyArrayN) } } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test3 -> return false } val tmp0_other_with_cast: Test3 = other as Test3 when { EQEQ(arg0 = #anyArrayN, arg1 = #anyArrayN).not() -> return false } return true } }