mirror of https://github.com/sbt/sbt.git
[2.x] fix: Remove explicit equals and hashCode in LabeledFunctions (#9228)
This commit is contained in:
parent
f454c05fe1
commit
6a1222ad06
|
|
@ -108,44 +108,20 @@ private[sbt] object LabeledFunctions {
|
|||
private class LabeledFunction0[+R](private val f: () => R, label: String) extends (() => R) {
|
||||
override def apply(): R = f()
|
||||
override def toString: String = label
|
||||
override def equals(o: Any): Boolean = o match {
|
||||
case that: LabeledFunction0[R] @unchecked => this.f == that.f
|
||||
case that: (() => R) @unchecked => this.f == that
|
||||
case _ => false
|
||||
}
|
||||
override def hashCode: Int = f.hashCode
|
||||
}
|
||||
private class LabeledFunction1[-T, +R](private val f: T => R, label: String) extends (T => R) {
|
||||
override def apply(t: T): R = f(t)
|
||||
override def toString: String = label
|
||||
override def equals(o: Any): Boolean = o match {
|
||||
case that: LabeledFunction1[T, R] @unchecked => this.f == that.f
|
||||
case that: (T => R) @unchecked => this.f == that
|
||||
case _ => false
|
||||
}
|
||||
override def hashCode: Int = f.hashCode
|
||||
}
|
||||
private class LabeledFunction2[-T1, -T2, +R](private val f: (T1, T2) => R, label: String)
|
||||
extends ((T1, T2) => R) {
|
||||
override def apply(t1: T1, t2: T2): R = f(t1, t2)
|
||||
override def toString: String = label
|
||||
override def equals(o: Any): Boolean = o match {
|
||||
case that: LabeledFunction2[T1, T2, R] @unchecked => this.f == that.f
|
||||
case that: ((T1, T2) => R) @unchecked => this.f == that
|
||||
case _ => false
|
||||
}
|
||||
override def hashCode: Int = f.hashCode
|
||||
}
|
||||
private class LabeledFunction3[-T1, -T2, -T3, +R](private val f: (T1, T2, T3) => R, label: String)
|
||||
extends ((T1, T2, T3) => R) {
|
||||
override def apply(t1: T1, t2: T2, t3: T3): R = f(t1, t2, t3)
|
||||
override def toString: String = label
|
||||
override def equals(o: Any): Boolean = o match {
|
||||
case that: LabeledFunction3[T1, T2, T3, R] @unchecked => this.f == that.f
|
||||
case that: ((T1, T2, T3) => R) @unchecked => this.f == that
|
||||
case _ => false
|
||||
}
|
||||
override def hashCode: Int = f.hashCode
|
||||
}
|
||||
private class LabeledFunction4[-T1, -T2, -T3, T4, +R](
|
||||
private val f: (T1, T2, T3, T4) => R,
|
||||
|
|
@ -153,11 +129,5 @@ private[sbt] object LabeledFunctions {
|
|||
) extends ((T1, T2, T3, T4) => R) {
|
||||
override def apply(t1: T1, t2: T2, t3: T3, t4: T4): R = f(t1, t2, t3, t4)
|
||||
override def toString: String = label
|
||||
override def equals(o: Any): Boolean = o match {
|
||||
case that: LabeledFunction4[T1, T2, T3, T4, R] @unchecked => this.f == that.f
|
||||
case that: ((T1, T2, T3, T4) => R) @unchecked => this.f == that
|
||||
case _ => false
|
||||
}
|
||||
override def hashCode: Int = f.hashCode
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue