Skip to content

Commit 23932c0

Browse files
committed
Reorder and clean up erasure and sigName
1 parent 9d01fea commit 23932c0

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -384,16 +384,14 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
384384
case tp: AppliedType =>
385385
if (tp.tycon.isRef(defn.ArrayClass)) eraseArray(tp)
386386
else apply(tp.superType)
387-
case tp: RefinedType =>
388-
val parent = tp.parent
389-
if (parent isRef defn.ArrayClass) eraseArray(tp) // @!!!
390-
else this(parent)
391387
case _: TermRef | _: ThisType =>
392388
this(tp.widen)
393389
case SuperType(thistpe, supertpe) =>
394390
SuperType(this(thistpe), this(supertpe))
395391
case ExprType(rt) =>
396392
defn.FunctionType(0)
393+
case tp: TypeProxy =>
394+
this(tp.underlying)
397395
case AndType(tp1, tp2) =>
398396
erasedGlb(this(tp1), this(tp2), isJava)
399397
case OrType(tp1, tp2) =>
@@ -433,8 +431,6 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
433431
tp
434432
case tp: WildcardType if wildcardOK =>
435433
tp
436-
case tp: TypeProxy =>
437-
this(tp.underlying)
438434
}
439435

440436
private def eraseArray(tp: Type)(implicit ctx: Context) = {
@@ -549,8 +545,6 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean
549545
if (inst.exists) sigName(inst) else tpnme.Uninstantiated
550546
case tp: TypeProxy =>
551547
sigName(tp.underlying)
552-
case tp: PolyType =>
553-
sigName(tp.resultType)
554548
case _: ErrorType | WildcardType =>
555549
tpnme.WILDCARD
556550
case tp: WildcardType =>

0 commit comments

Comments
 (0)