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

176 lines
3.1 KiB
Kotlin
Vendored

data class Test1<T : Any?> {
val x: T
field = x
get
constructor(x: T) /* primary */ {
super/*Any*/()
/* <init>() */
}
operator fun component1(): T {
return <this>.#x
}
fun copy(x: T = <this>.#x): Test1<T> {
return Test1<T>(x = x)
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is Test1<T> -> return false
}
val tmp_0: Test1<T> = other as Test1<T>
when {
EQEQ(arg0 = <this>.#x, arg1 = tmp_0.#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 "Test1(" + "x=" + <this>.#x + ")"
}
}
data class Test2<T : Number> {
val x: T
field = x
get
constructor(x: T) /* primary */ {
super/*Any*/()
/* <init>() */
}
operator fun component1(): T {
return <this>.#x
}
fun copy(x: T = <this>.#x): Test2<T> {
return Test2<T>(x = x)
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is Test2<T> -> return false
}
val tmp_1: Test2<T> = other as Test2<T>
when {
EQEQ(arg0 = <this>.#x, arg1 = tmp_1.#x).not() -> return false
}
return true
}
override fun hashCode(): Int {
return <this>.#x.hashCode()
}
override fun toString(): String {
return "Test2(" + "x=" + <this>.#x + ")"
}
}
data class Test3<T : Any?> {
val x: List<T>
field = x
get
constructor(x: List<T>) /* primary */ {
super/*Any*/()
/* <init>() */
}
operator fun component1(): List<T> {
return <this>.#x
}
fun copy(x: List<T> = <this>.#x): Test3<T> {
return Test3<T>(x = x)
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is Test3<T> -> return false
}
val tmp_2: Test3<T> = other as Test3<T>
when {
EQEQ(arg0 = <this>.#x, arg1 = tmp_2.#x).not() -> return false
}
return true
}
override fun hashCode(): Int {
return <this>.#x.hashCode()
}
override fun toString(): String {
return "Test3(" + "x=" + <this>.#x + ")"
}
}
data class Test4 {
val x: List<String>
field = x
get
constructor(x: List<String>) /* primary */ {
super/*Any*/()
/* <init>() */
}
operator fun component1(): List<String> {
return <this>.#x
}
fun copy(x: List<String> = <this>.#x): Test4 {
return Test4(x = x)
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is Test4 -> return false
}
val tmp_3: Test4 = other as Test4
when {
EQEQ(arg0 = <this>.#x, arg1 = tmp_3.#x).not() -> return false
}
return true
}
override fun hashCode(): Int {
return <this>.#x.hashCode()
}
override fun toString(): String {
return "Test4(" + "x=" + <this>.#x + ")"
}
}