data class Test1 { val x: Int field = x get val y: String field = y get val z: Any field = z get constructor(x: Int, y: String, z: Any) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): Int { return .#x } operator fun component2(): String { return .#y } operator fun component3(): Any { return .#z } fun copy(x: Int = .#x, y: String = .#y, z: Any = .#z): Test1 { return Test1(x = x, y = y, z = z) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test1 -> return false } val tmp_0: Test1 = other as Test1 when { EQEQ(arg0 = .#x, arg1 = tmp_0.#x).not() -> return false } when { EQEQ(arg0 = .#y, arg1 = tmp_0.#y).not() -> return false } when { EQEQ(arg0 = .#z, arg1 = tmp_0.#z).not() -> return false } return true } override fun hashCode(): Int { var result: Int = .#x.hashCode() result = result.times(other = 31).plus(other = .#y.hashCode()) result = result.times(other = 31).plus(other = .#z.hashCode()) return result } override fun toString(): String { return "Test1(" + "x=" + .#x + ", " + "y=" + .#y + ", " + "z=" + .#z + ")" } } data class Test2 { val x: Any? field = x get constructor(x: Any?) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): Any? { return .#x } fun copy(x: Any? = .#x): Test2 { return Test2(x = x) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test2 -> return false } val tmp_1: Test2 = other as Test2 when { EQEQ(arg0 = .#x, arg1 = tmp_1.#x).not() -> return false } return true } override fun hashCode(): Int { return when { EQEQ(arg0 = .#x, arg1 = null) -> 0 else -> .#x.hashCode() } } override fun toString(): String { return "Test2(" + "x=" + .#x + ")" } } data class Test3 { val d: Double field = d get val dn: Double? field = dn get val f: Float field = f get val df: Float? field = df get constructor(d: Double, dn: Double?, f: Float, df: Float?) /* primary */ { super/*Any*/() /* () */ } operator fun component1(): Double { return .#d } operator fun component2(): Double? { return .#dn } operator fun component3(): Float { return .#f } operator fun component4(): Float? { return .#df } fun copy(d: Double = .#d, dn: Double? = .#dn, f: Float = .#f, df: Float? = .#df): Test3 { return Test3(d = d, dn = dn, f = f, df = df) } override operator fun equals(other: Any?): Boolean { when { EQEQEQ(arg0 = , arg1 = other) -> return true } when { other !is Test3 -> return false } val tmp_2: Test3 = other as Test3 when { EQEQ(arg0 = .#d, arg1 = tmp_2.#d).not() -> return false } when { EQEQ(arg0 = .#dn, arg1 = tmp_2.#dn).not() -> return false } when { EQEQ(arg0 = .#f, arg1 = tmp_2.#f).not() -> return false } when { EQEQ(arg0 = .#df, arg1 = tmp_2.#df).not() -> return false } return true } override fun hashCode(): Int { var result: Int = .#d.hashCode() result = result.times(other = 31).plus(other = when { EQEQ(arg0 = .#dn, arg1 = null) -> 0 else -> .#dn.hashCode() }) result = result.times(other = 31).plus(other = .#f.hashCode()) result = result.times(other = 31).plus(other = when { EQEQ(arg0 = .#df, arg1 = null) -> 0 else -> .#df.hashCode() }) return result } override fun toString(): String { return "Test3(" + "d=" + .#d + ", " + "dn=" + .#dn + ", " + "f=" + .#f + ", " + "df=" + .#df + ")" } }