Skip to content

Commit 558d143

Browse files
committed
Resolve some review comments
1 parent a0abd36 commit 558d143

File tree

13 files changed

+198
-131
lines changed

13 files changed

+198
-131
lines changed

compiler/src/dotty/tools/dotc/core/TypeErasure.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,7 @@ class TypeErasure(sourceLanguage: SourceLanguage, semiEraseVCs: Boolean, isConst
688688
else TypeComparer.orType(e1, e2, isErased = true)
689689
def isNullStripped =
690690
tp2.isNullType && e1.derivesFrom(defn.ObjectClass)
691-
|| tp2.isNullType && e2.derivesFrom(defn.ObjectClass)
691+
|| tp1.isNullType && e2.derivesFrom(defn.ObjectClass)
692692
if isSymbol && sourceLanguage.isScala2 && ctx.settings.scalajs.value && !isNullStripped then
693693
// In Scala2Unpickler we unpickle Scala.js pseudo-unions as if they were
694694
// real unions, but we must still erase them as Scala 2 would to emit

library-js/src/scala/collection/mutable/ArrayBuilder.scala

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -227,10 +227,10 @@ object ArrayBuilder {
227227
@SerialVersionUID(3L)
228228
final class ofRef[T <: AnyRef | Null](implicit ct: ClassTag[T]) extends ArrayBuilder[T] {
229229

230-
protected var elems: Array[T] = _
230+
protected var elems: Array[T] | Null = null
231231

232232
private def mkArray(size: Int): Array[T] = {
233-
if (capacity == size && capacity > 0) elems
233+
if (capacity == size && capacity > 0) elems.nn
234234
else if (elems eq null) new Array[T](size)
235235
else java.util.Arrays.copyOf[T](elems, size)
236236
}
@@ -242,16 +242,16 @@ object ArrayBuilder {
242242

243243
def addOne(elem: T): this.type = {
244244
ensureSize(size + 1)
245-
elems(size) = elem
245+
elems.nn(size) = elem
246246
size += 1
247247
this
248248
}
249249

250250
def result() = {
251251
if (capacity != 0 && capacity == size) {
252252
capacity = 0
253-
val res = elems
254-
elems = null.asInstanceOf[Array[T]]
253+
val res = elems.nn
254+
elems = null
255255
res
256256
}
257257
else mkArray(size)
@@ -274,11 +274,11 @@ object ArrayBuilder {
274274
@SerialVersionUID(3L)
275275
final class ofByte extends ArrayBuilder[Byte] {
276276

277-
protected var elems: Array[Byte] = _
277+
protected var elems: Array[Byte] | Null = null
278278

279279
private def mkArray(size: Int): Array[Byte] = {
280280
val newelems = new Array[Byte](size)
281-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
281+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
282282
newelems
283283
}
284284

@@ -289,16 +289,16 @@ object ArrayBuilder {
289289

290290
def addOne(elem: Byte): this.type = {
291291
ensureSize(size + 1)
292-
elems(size) = elem
292+
elems.nn(size) = elem
293293
size += 1
294294
this
295295
}
296296

297297
def result() = {
298298
if (capacity != 0 && capacity == size) {
299299
capacity = 0
300-
val res = elems
301-
elems = null.asInstanceOf[Array[Byte]]
300+
val res = elems.nn
301+
elems = null
302302
res
303303
}
304304
else mkArray(size)
@@ -316,11 +316,11 @@ object ArrayBuilder {
316316
@SerialVersionUID(3L)
317317
final class ofShort extends ArrayBuilder[Short] {
318318

319-
protected var elems: Array[Short] = _
319+
protected var elems: Array[Short] | Null = null
320320

321321
private def mkArray(size: Int): Array[Short] = {
322322
val newelems = new Array[Short](size)
323-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
323+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
324324
newelems
325325
}
326326

@@ -331,16 +331,16 @@ object ArrayBuilder {
331331

332332
def addOne(elem: Short): this.type = {
333333
ensureSize(size + 1)
334-
elems(size) = elem
334+
elems.nn(size) = elem
335335
size += 1
336336
this
337337
}
338338

339339
def result() = {
340340
if (capacity != 0 && capacity == size) {
341341
capacity = 0
342-
val res = elems
343-
elems = null.asInstanceOf[Array[Short]]
342+
val res = elems.nn
343+
elems = null
344344
res
345345
}
346346
else mkArray(size)
@@ -358,11 +358,11 @@ object ArrayBuilder {
358358
@SerialVersionUID(3L)
359359
final class ofChar extends ArrayBuilder[Char] {
360360

361-
protected var elems: Array[Char] = _
361+
protected var elems: Array[Char] | Null = null
362362

363363
private def mkArray(size: Int): Array[Char] = {
364364
val newelems = new Array[Char](size)
365-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
365+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
366366
newelems
367367
}
368368

@@ -373,16 +373,16 @@ object ArrayBuilder {
373373

374374
def addOne(elem: Char): this.type = {
375375
ensureSize(size + 1)
376-
elems(size) = elem
376+
elems.nn(size) = elem
377377
size += 1
378378
this
379379
}
380380

381381
def result() = {
382382
if (capacity != 0 && capacity == size) {
383383
capacity = 0
384-
val res = elems
385-
elems = null.asInstanceOf[Array[Char]]
384+
val res = elems.nn
385+
elems = null
386386
res
387387
}
388388
else mkArray(size)
@@ -400,11 +400,11 @@ object ArrayBuilder {
400400
@SerialVersionUID(3L)
401401
final class ofInt extends ArrayBuilder[Int] {
402402

403-
protected var elems: Array[Int] = _
403+
protected var elems: Array[Int] | Null = null
404404

405405
private def mkArray(size: Int): Array[Int] = {
406406
val newelems = new Array[Int](size)
407-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
407+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
408408
newelems
409409
}
410410

@@ -415,16 +415,16 @@ object ArrayBuilder {
415415

416416
def addOne(elem: Int): this.type = {
417417
ensureSize(size + 1)
418-
elems(size) = elem
418+
elems.nn(size) = elem
419419
size += 1
420420
this
421421
}
422422

423423
def result() = {
424424
if (capacity != 0 && capacity == size) {
425425
capacity = 0
426-
val res = elems
427-
elems = null.asInstanceOf[Array[Int]]
426+
val res = elems.nn
427+
elems = null
428428
res
429429
}
430430
else mkArray(size)
@@ -442,11 +442,11 @@ object ArrayBuilder {
442442
@SerialVersionUID(3L)
443443
final class ofLong extends ArrayBuilder[Long] {
444444

445-
protected var elems: Array[Long] = _
445+
protected var elems: Array[Long] | Null = null
446446

447447
private def mkArray(size: Int): Array[Long] = {
448448
val newelems = new Array[Long](size)
449-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
449+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
450450
newelems
451451
}
452452

@@ -457,16 +457,16 @@ object ArrayBuilder {
457457

458458
def addOne(elem: Long): this.type = {
459459
ensureSize(size + 1)
460-
elems(size) = elem
460+
elems.nn(size) = elem
461461
size += 1
462462
this
463463
}
464464

465465
def result() = {
466466
if (capacity != 0 && capacity == size) {
467467
capacity = 0
468-
val res = elems
469-
elems = null.asInstanceOf[Array[Long]]
468+
val res = elems.nn
469+
elems = null
470470
res
471471
}
472472
else mkArray(size)
@@ -484,11 +484,11 @@ object ArrayBuilder {
484484
@SerialVersionUID(3L)
485485
final class ofFloat extends ArrayBuilder[Float] {
486486

487-
protected var elems: Array[Float] = _
487+
protected var elems: Array[Float] | Null = null
488488

489489
private def mkArray(size: Int): Array[Float] = {
490490
val newelems = new Array[Float](size)
491-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
491+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
492492
newelems
493493
}
494494

@@ -499,16 +499,16 @@ object ArrayBuilder {
499499

500500
def addOne(elem: Float): this.type = {
501501
ensureSize(size + 1)
502-
elems(size) = elem
502+
elems.nn(size) = elem
503503
size += 1
504504
this
505505
}
506506

507507
def result() = {
508508
if (capacity != 0 && capacity == size) {
509509
capacity = 0
510-
val res = elems
511-
elems = null.asInstanceOf[Array[Float]]
510+
val res = elems.nn
511+
elems = null
512512
res
513513
}
514514
else mkArray(size)
@@ -526,11 +526,11 @@ object ArrayBuilder {
526526
@SerialVersionUID(3L)
527527
final class ofDouble extends ArrayBuilder[Double] {
528528

529-
protected var elems: Array[Double] = _
529+
protected var elems: Array[Double] | Null = null
530530

531531
private def mkArray(size: Int): Array[Double] = {
532532
val newelems = new Array[Double](size)
533-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
533+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
534534
newelems
535535
}
536536

@@ -541,16 +541,16 @@ object ArrayBuilder {
541541

542542
def addOne(elem: Double): this.type = {
543543
ensureSize(size + 1)
544-
elems(size) = elem
544+
elems.nn(size) = elem
545545
size += 1
546546
this
547547
}
548548

549549
def result() = {
550550
if (capacity != 0 && capacity == size) {
551551
capacity = 0
552-
val res = elems
553-
elems = null.asInstanceOf[Array[Double]]
552+
val res = elems.nn
553+
elems = null
554554
res
555555
}
556556
else mkArray(size)
@@ -568,11 +568,11 @@ object ArrayBuilder {
568568
@SerialVersionUID(3L)
569569
class ofBoolean extends ArrayBuilder[Boolean] {
570570

571-
protected var elems: Array[Boolean] = _
571+
protected var elems: Array[Boolean] | Null = null
572572

573573
private def mkArray(size: Int): Array[Boolean] = {
574574
val newelems = new Array[Boolean](size)
575-
if (this.size > 0) Array.copy(elems, 0, newelems, 0, this.size)
575+
if (this.size > 0) Array.copy(elems.nn, 0, newelems, 0, this.size)
576576
newelems
577577
}
578578

@@ -583,16 +583,16 @@ object ArrayBuilder {
583583

584584
def addOne(elem: Boolean): this.type = {
585585
ensureSize(size + 1)
586-
elems(size) = elem
586+
elems.nn(size) = elem
587587
size += 1
588588
this
589589
}
590590

591591
def result() = {
592592
if (capacity != 0 && capacity == size) {
593593
capacity = 0
594-
val res = elems
595-
elems = null.asInstanceOf[Array[Boolean]]
594+
val res = elems.nn
595+
elems = null
596596
res
597597
}
598598
else mkArray(size)
@@ -610,7 +610,7 @@ object ArrayBuilder {
610610
@SerialVersionUID(3L)
611611
final class ofUnit extends ArrayBuilder[Unit] {
612612

613-
protected def elems: Array[Unit] = throw new UnsupportedOperationException()
613+
protected def elems: Array[Unit] | Null = throw new UnsupportedOperationException()
614614

615615
def addOne(elem: Unit): this.type = {
616616
size += 1

0 commit comments

Comments
 (0)