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*/() /* () */ } 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 = tmp0_other_with_cast.#stringArray).not() -> return false } when { EQEQ(arg0 = .#charArray, arg1 = tmp0_other_with_cast.#charArray).not() -> return false } when { EQEQ(arg0 = .#booleanArray, arg1 = tmp0_other_with_cast.#booleanArray).not() -> return false } when { EQEQ(arg0 = .#byteArray, arg1 = tmp0_other_with_cast.#byteArray).not() -> return false } when { EQEQ(arg0 = .#shortArray, arg1 = tmp0_other_with_cast.#shortArray).not() -> return false } when { EQEQ(arg0 = .#intArray, arg1 = tmp0_other_with_cast.#intArray).not() -> return false } when { EQEQ(arg0 = .#longArray, arg1 = tmp0_other_with_cast.#longArray).not() -> return false } when { EQEQ(arg0 = .#floatArray, arg1 = tmp0_other_with_cast.#floatArray).not() -> return false } when { EQEQ(arg0 = .#doubleArray, arg1 = tmp0_other_with_cast.#doubleArray).not() -> return false } return true } } data class Test2 { constructor(genericArray: Array) /* primary */ { super/*Any*/() /* () */ } 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 = tmp0_other_with_cast.#genericArray).not() -> return false } return true } } data class Test3 { constructor(anyArrayN: Array?) /* primary */ { super/*Any*/() /* () */ } 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 else -> 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 = tmp0_other_with_cast.#anyArrayN).not() -> return false } return true } }