diff options
author | Martin Odersky <odersky@gmail.com> | 2013-03-23 16:45:10 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-03-23 16:45:10 +0100 |
commit | 8ea3a4627c7dc66f65705ec9822c01a2225eacae (patch) | |
tree | e9966adbb3df29c4b458b7aaaa68b7cc8dab5a17 /src/dotty/tools/dotc/core/TypeOps.scala | |
parent | 6c6f77682f95496feef72cc0ecd3ba00ccbdfa49 (diff) | |
download | dotty-8ea3a4627c7dc66f65705ec9822c01a2225eacae.tar.gz dotty-8ea3a4627c7dc66f65705ec9822c01a2225eacae.tar.bz2 dotty-8ea3a4627c7dc66f65705ec9822c01a2225eacae.zip |
Attempt to fix fingerprint problem (disabled for now)
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeOps.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeOps.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/TypeOps.scala b/src/dotty/tools/dotc/core/TypeOps.scala index 38da0ce9c..c19b0e387 100644 --- a/src/dotty/tools/dotc/core/TypeOps.scala +++ b/src/dotty/tools/dotc/core/TypeOps.scala @@ -165,7 +165,8 @@ trait TypeOps { this: Context => * to a list of typerefs, by converting all refinements to member * definitions in scope `decls`. Can add members to `decls` as a side-effect. */ - def normalizeToRefs(parents: List[Type], cls: ClassSymbol, decls: MutableScope): List[TypeRef] = { + def normalizeToRefs(parents: List[Type], cls: ClassSymbol, decls: MutableScope /*@@@*/): List[TypeRef] = { + // println(s"normalizing $parents of $cls in ${cls.owner}") // !!! DEBUG var refinements = Map[TypeName, Type]() var formals = Map[TypeName, Symbol]() def normalizeToRef(tp: Type): TypeRef = tp match { @@ -183,12 +184,13 @@ trait TypeOps { this: Context => throw new TypeError(s"unexpected parent type: $tp") } val parentRefs = parents map normalizeToRef - for ((name, tpe) <- refinements) decls.enter { + for ((name, tpe) <- refinements) { val formal = formals(name) val bounds = tpe //.toRHS(formal) assert(decls.lookup(name) == NoSymbol, // DEBUG - s"redefinition of ${decls.lookup(name).debugString} in ${cls.debugString}") - ctx.newSymbol(cls, name, formal.flags & RetainedTypeArgFlags, bounds) + s"redefinition of ${decls.lookup(name).debugString} in ${cls.showLocated}") + val sym = ctx.newSymbol(cls, name, formal.flags & RetainedTypeArgFlags, bounds) + decls.enter(sym) // @@@ cls.enter(sym, decls) } parentRefs } |