Files
kotlin-fork/compiler/testData/ir/irText/classes/dataClasses/lambdaInDataClassDefaultParameter.fir.kt.txt
T
Vladimir Sukharev f9df4e1487 [K/N] Reorder hashCode, toString, equals in data classes to match K1 order
^KT-60247 Fixed

Merge-request: KT-MR-11080
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-07-18 00:06:48 +00:00

101 lines
1.9 KiB
Kotlin
Vendored

data class A {
constructor(runA: @ExtensionFunctionType Function2<A, String, Unit> = local fun A.<anonymous>(it: String) {
return Unit
}
) /* primary */ {
super/*Any*/()
/* <init>() */
}
val runA: @ExtensionFunctionType Function2<A, String, Unit>
field = runA
get
operator fun component1(): @ExtensionFunctionType Function2<A, String, Unit> {
return <this>.#runA
}
fun copy(runA: @ExtensionFunctionType Function2<A, String, Unit> = <this>.#runA): A {
return A(runA = runA)
}
override fun toString(): String {
return "A(" + "runA=" + <this>.#runA + ")"
}
override fun hashCode(): Int {
return <this>.#runA.hashCode()
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is A -> return false
}
val tmp0_other_with_cast: A = other as A
when {
EQEQ(arg0 = <this>.#runA, arg1 = tmp0_other_with_cast.#runA).not() -> return false
}
return true
}
}
data class B {
constructor(x: Any = { // BLOCK
local class <no name provided> {
constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
}
<no name provided>()
}) /* primary */ {
super/*Any*/()
/* <init>() */
}
val x: Any
field = x
get
operator fun component1(): Any {
return <this>.#x
}
fun copy(x: Any = <this>.#x): B {
return B(x = x)
}
override fun toString(): String {
return "B(" + "x=" + <this>.#x + ")"
}
override fun hashCode(): Int {
return <this>.#x.hashCode()
}
override operator fun equals(other: Any?): Boolean {
when {
EQEQEQ(arg0 = <this>, arg1 = other) -> return true
}
when {
other !is B -> return false
}
val tmp0_other_with_cast: B = other as B
when {
EQEQ(arg0 = <this>.#x, arg1 = tmp0_other_with_cast.#x).not() -> return false
}
return true
}
}