diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2010-07-19 11:57:51 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2010-07-19 11:57:51 +0000 |
commit | 5c9400467b802dfb7102f2de507bb3c0c4193c22 (patch) | |
tree | 83280c5727f60a1971f98fd629148fbeb39c84d8 | |
parent | d36dcfbf9d329684b9849cbdd6b5684b1c7ae47b (diff) | |
download | scala-5c9400467b802dfb7102f2de507bb3c0c4193c22.tar.gz scala-5c9400467b802dfb7102f2de507bb3c0c4193c22.tar.bz2 scala-5c9400467b802dfb7102f2de507bb3c0c4193c22.zip |
[scaladoc] Fixes an issue whereas inherited mem...
[scaladoc] Fixes an issue whereas inherited members in objects would not
see their types instantiated properly. No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala index 285a0a2329..2e4e4f83bc 100644 --- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala @@ -449,7 +449,11 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { thisFactory def makeType(aType: Type, inTpl: => TemplateImpl, dclSym: Symbol): TypeEntity = { def ownerTpl(sym: Symbol): Symbol = if (sym.isClass || sym.isModule || sym == NoSymbol) sym else ownerTpl(sym.owner) - val tpe = if (thisFactory.settings.useStupidTypes.value) aType else aType.asSeenFrom(inTpl.sym.thisType, ownerTpl(dclSym)) + val tpe = + if (thisFactory.settings.useStupidTypes.value) aType else { + val fixedSym = if (inTpl.sym.isModule) inTpl.sym.moduleClass else inTpl.sym + aType.asSeenFrom(fixedSym.thisType, ownerTpl(dclSym)) + } makeType(tpe, inTpl) } |