aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/TypeErasure.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-09-21 14:13:09 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2014-10-11 08:24:35 +0200
commit8975b85958e4d600eebb843c4847e52486c33f46 (patch)
tree1c4e2e89debed1cf86ec447833afd48eee850c7c /src/dotty/tools/dotc/TypeErasure.scala
parentc93f545dc344d4acebdb84dc76eae062eaf67ce0 (diff)
downloaddotty-8975b85958e4d600eebb843c4847e52486c33f46.tar.gz
dotty-8975b85958e4d600eebb843c4847e52486c33f46.tar.bz2
dotty-8975b85958e4d600eebb843c4847e52486c33f46.zip
Drop type declarations from erased ClassInfo
Need to drop all non-class type declarations.
Diffstat (limited to 'src/dotty/tools/dotc/TypeErasure.scala')
-rw-r--r--src/dotty/tools/dotc/TypeErasure.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/TypeErasure.scala b/src/dotty/tools/dotc/TypeErasure.scala
index 1e3bc5ca6..f6c62cf30 100644
--- a/src/dotty/tools/dotc/TypeErasure.scala
+++ b/src/dotty/tools/dotc/TypeErasure.scala
@@ -269,7 +269,8 @@ class TypeErasure(isJava: Boolean, isSemi: Boolean, isConstructor: Boolean, wild
val parents: List[TypeRef] =
if ((cls eq defn.ObjectClass) || cls.isPrimitiveValueClass) Nil
else removeLaterObjects(classParents.mapConserve(eraseTypeRef))
- tp.derivedClassInfo(NoPrefix, parents, decls, this(tp.selfType))
+ val erasedDecls = decls.filteredScope(d => !d.isType || d.isClass)
+ tp.derivedClassInfo(NoPrefix, parents, erasedDecls, this(tp.selfType))
// can't replace selftype by NoType because this would lose the sourceModule link
}
case NoType | NoPrefix | ErrorType | JavaArrayType(_) =>