Skip to content

Commit f6eeb18

Browse files
committed
Simplified code a bit
1 parent 45fd087 commit f6eeb18

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

src/dotty/tools/dotc/TypeErasure.scala

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -317,19 +317,15 @@ class TypeErasure(isJava: Boolean, isSemi: Boolean, isConstructor: Boolean, wild
317317
if (cls is Package) tp
318318
else {
319319
def eraseTypeRef(p: TypeRef) = this(p).asInstanceOf[TypeRef]
320-
val parents: List[TypeRef] = {
320+
val parents: List[TypeRef] =
321321
if ((cls eq defn.ObjectClass) || cls.isPrimitiveValueClass) Nil
322-
else {
323-
def normalize(trs: List[TypeRef])(implicit ctx: Context): List[TypeRef] = trs match {
324-
case tr :: trs1 =>
325-
assert(!tr.classSymbol.is(Trait), cls)
326-
val tr1 = if (cls is Trait) defn.ObjectClass.typeRef else tr
327-
tr1 :: trs1.filterNot(_ isRef defn.ObjectClass)
328-
case nil => nil
329-
}
330-
normalize(classParents.mapConserve(eraseTypeRef))
322+
else classParents.mapConserve(eraseTypeRef) match {
323+
case tr :: trs1 =>
324+
assert(!tr.classSymbol.is(Trait), cls)
325+
val tr1 = if (cls is Trait) defn.ObjectClass.typeRef else tr
326+
tr1 :: trs1.filterNot(_ isRef defn.ObjectClass)
327+
case nil => nil
331328
}
332-
}
333329
val erasedDecls = decls.filteredScope(d => !d.isType || d.isClass)
334330
tp.derivedClassInfo(NoPrefix, parents, erasedDecls, erasedRef(tp.selfType))
335331
// can't replace selftype by NoType because this would lose the sourceModule link

0 commit comments

Comments
 (0)