Files
kotlin-fork/compiler/testData/ir/irText/classes/dataClasses/dataClasses.kt.txt
T
2024-02-16 10:19:38 +00:00

201 lines
4.1 KiB
Kotlin
Vendored

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