summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/Definitions.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/Definitions.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index 18fd09e0ba..11c3db13ee 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -365,10 +365,17 @@ trait Definitions {
private def newCovariantPolyClass(owner: Symbol, name: Name, parent: Symbol => Type): Symbol = {
val clazz = newClass(owner, name, List())
val tparam = newTypeParam(clazz, 0) setFlag COVARIANT
+ val p = parent(tparam)
+/* p.typeSymbol.initialize
+ println(p.typeSymbol + " flags: " + Flags.flagsToString(p.typeSymbol.flags))
+ val parents = /*if (p.typeSymbol.isTrait)
+ List(definitions.AnyRefClass.tpe, p)
+ else*/ List(p)
+ println("creating " + name + " with parents " + parents) */
clazz.setInfo(
PolyType(
List(tparam),
- ClassInfoType(List(parent(tparam)), newClassScope(clazz), clazz)))
+ ClassInfoType(List(p), newClassScope(clazz), clazz)))
}
private def newAlias(owner: Symbol, name: Name, alias: Type): Symbol = {