summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2010-07-19 11:57:51 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2010-07-19 11:57:51 +0000
commit5c9400467b802dfb7102f2de507bb3c0c4193c22 (patch)
tree83280c5727f60a1971f98fd629148fbeb39c84d8
parentd36dcfbf9d329684b9849cbdd6b5684b1c7ae47b (diff)
downloadscala-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.scala6
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)
}