diff options
author | Martin Odersky <odersky@gmail.com> | 2006-01-30 21:40:39 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-01-30 21:40:39 +0000 |
commit | a3ec956b661349f50356874ad0a3e609d4461a86 (patch) | |
tree | 5ae4aaee3cde063a84d793b1a869835afab67e51 /src/compiler | |
parent | 430648004416a3a04104fd49798d99db30e1fb4f (diff) | |
download | scala-a3ec956b661349f50356874ad0a3e609d4461a86.tar.gz scala-a3ec956b661349f50356874ad0a3e609d4461a86.tar.bz2 scala-a3ec956b661349f50356874ad0a3e609d4461a86.zip |
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 8 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala index 94997532f2..dddd9b9821 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala @@ -237,7 +237,7 @@ trait Namers requires Analyzer { tree.symbol = enterModuleSymbol(tree.pos, mods.flags | MODULE | FINAL, name); setPrivateWithin(tree.symbol, mods); setPrivateWithin(tree.symbol.moduleClass, mods); - tree.symbol.moduleClass.setInfo(innerNamer.typeCompleter(tree)); + tree.symbol.moduleClass.setInfo(innerNamer.moduleClassTypeCompleter(tree)); finish case ValDef(mods, name, tp, rhs) => if (context.owner.isClass & (mods.flags & LOCAL) == 0) { @@ -313,6 +313,12 @@ trait Namers requires Analyzer { } } + def moduleClassTypeCompleter(tree: Tree) = new TypeCompleter(tree) { + override def complete(sym: Symbol): unit = { + tree.symbol.info // sets moduleClass info as a side effect. + } + } + def getterTypeCompleter(tree: Tree) = new TypeCompleter(tree) { override def complete(sym: Symbol): unit = { if (settings.debug.value) log("defining " + sym); diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index 2a1502aa66..c3abb76e64 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -1323,7 +1323,7 @@ mixin class Typers requires Analyzer { if (stableApplication) fun1 = stabilizeFun(fun1, mode, pt) // if function is overloaded, filter all alternatives that match // number of arguments and expected result type. - // if (settings.debug.value) log("trans app "+fun1+":"+fun1.symbol+":"+fun1.tpe+" "+args);//DEBUG + if (settings.debug.value) log("trans app "+fun1+":"+fun1.symbol+":"+fun1.tpe+" "+args);//DEBUG if (fun1.hasSymbol && fun1.symbol.hasFlag(OVERLOADED)) { val argtypes = args map (arg => AllClass.tpe) val pre = fun1.symbol.tpe.prefix |