Skip to content

Commit a681098

Browse files
author
Antoine Brunner
committed
Remove unnecessary dynamicFromIArray (replaced by TupleXXL.fromIArray)
1 parent d4e8ebe commit a681098

File tree

1 file changed

+17
-25
lines changed

1 file changed

+17
-25
lines changed

library/src/scala/runtime/DynamicTuple.scala

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -234,19 +234,16 @@ object DynamicTuple {
234234
case self: Tuple21[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
235235
Tuple22(x, self._1, self._2, self._3, self._4, self._5, self._6, self._7, self._8, self._9, self._10, self._11, self._12, self._13, self._14, self._15, self._16, self._17, self._18, self._19, self._20, self._21)
236236
case self: Tuple22[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] =>
237-
val arr = new Array[Object](23)
238-
arr(0) = x.asInstanceOf[Object];
239-
arr(1) = self._1.asInstanceOf[Object]; arr(2) = self._2.asInstanceOf[Object];
240-
arr(3) = self._3.asInstanceOf[Object]; arr(4) = self._4.asInstanceOf[Object];
241-
arr(5) = self._5.asInstanceOf[Object]; arr(6) = self._6.asInstanceOf[Object];
242-
arr(7) = self._7.asInstanceOf[Object]; arr(8) = self._8.asInstanceOf[Object];
243-
arr(9) = self._9.asInstanceOf[Object]; arr(10) = self._10.asInstanceOf[Object];
244-
arr(11) = self._11.asInstanceOf[Object]; arr(12) = self._12.asInstanceOf[Object];
245-
arr(13) = self._13.asInstanceOf[Object]; arr(14) = self._14.asInstanceOf[Object];
246-
arr(15) = self._15.asInstanceOf[Object]; arr(16) = self._16.asInstanceOf[Object];
247-
arr(17) = self._17.asInstanceOf[Object]; arr(18) = self._18.asInstanceOf[Object];
248-
arr(19) = self._19.asInstanceOf[Object]; arr(20) = self._20.asInstanceOf[Object];
249-
arr(21) = self._21.asInstanceOf[Object]; arr(22) = self._22.asInstanceOf[Object];
237+
val arr: Array[Object] = Array(
238+
x.asInstanceOf[Object], self._1.asInstanceOf[Object], self._2.asInstanceOf[Object],
239+
self._3.asInstanceOf[Object], self._4.asInstanceOf[Object], self._5.asInstanceOf[Object],
240+
self._6.asInstanceOf[Object], self._7.asInstanceOf[Object], self._8.asInstanceOf[Object],
241+
self._9.asInstanceOf[Object], self._10.asInstanceOf[Object], self._11.asInstanceOf[Object],
242+
self._12.asInstanceOf[Object], self._13.asInstanceOf[Object], self._14.asInstanceOf[Object],
243+
self._15.asInstanceOf[Object], self._16.asInstanceOf[Object], self._17.asInstanceOf[Object],
244+
self._18.asInstanceOf[Object], self._19.asInstanceOf[Object], self._20.asInstanceOf[Object],
245+
self._21.asInstanceOf[Object], self._22.asInstanceOf[Object],
246+
)
250247
TupleXXL.fromIArray(arr.asInstanceOf[IArray[Object]]).asInstanceOf[Result]
251248
case xxl: TupleXXL =>
252249
val arr = new Array[Object](xxl.productArity + 1)
@@ -282,10 +279,10 @@ object DynamicTuple {
282279
case xxl: TupleXXL =>
283280
System.arraycopy(xxl.elems, 0, arr, self.size, that.size)
284281
case _ =>
285-
itToArray(that.asInstanceOf[Product].productIterator, that.size, arr, 0)
282+
itToArray(that.asInstanceOf[Product].productIterator, that.size, arr, self.size)
286283
}
287284

288-
dynamicFromIArray[Result](arr.asInstanceOf[IArray[Object]]).asInstanceOf[Result]
285+
dynamicFromIArray[Result](arr.asInstanceOf[IArray[Object]])
289286
}
290287

291288
def dynamicSize[This <: Tuple](self: This): Size[This] = (self: Any) match {
@@ -344,21 +341,16 @@ object DynamicTuple {
344341
if (xxl.productArity == 23) {
345342
val elems = xxl.elems
346343
Tuple22(
347-
xxl.elems(1), xxl.elems(2), xxl.elems(3), xxl.elems(4), xxl.elems(5), xxl.elems(6), xxl.elems(7),
348-
xxl.elems(8), xxl.elems(9), xxl.elems(10), xxl.elems(11), xxl.elems(12), xxl.elems(13), xxl.elems(14),
349-
xxl.elems(15), xxl.elems(16), xxl.elems(17), xxl.elems(18), xxl.elems(19), xxl.elems(20),
350-
xxl.elems(21), xxl.elems(22)
344+
elems(1), elems(2), elems(3), elems(4), elems(5), elems(6), elems(7),
345+
elems(8), elems(9), elems(10), elems(11), elems(12), elems(13), elems(14),
346+
elems(15), elems(16), elems(17), elems(18), elems(19), elems(20),
347+
elems(21), elems(22)
351348
).asInstanceOf[Result]
352349
} else {
353350
val arr = new Array[Object](self.size - 1)
354351
System.arraycopy(xxl.elems, 1, arr, 0, self.size - 1)
355-
dynamicFromIArray[Result](arr.asInstanceOf[IArray[Object]])
352+
TupleXXL.fromIArray(arr.asInstanceOf[IArray[Object]]).asInstanceOf[Result]
356353
}
357-
case _ =>
358-
val arr = new Array[Object](self.size - 1)
359-
val it = self.asInstanceOf[Product].productIterator.asInstanceOf[Iterator[Object]]
360-
itToArray(it, self.size - 1, arr, 0)
361-
dynamicFromIArray[Result](arr.asInstanceOf[IArray[Object]])
362354
}
363355
res.asInstanceOf[Result]
364356
}

0 commit comments

Comments
 (0)