From b0e6451e78740747da641d3c4b7f524f102810f9 Mon Sep 17 00:00:00 2001 From: Gilles Dubochet Date: Fri, 15 Jan 2010 14:43:34 +0000 Subject: [scaladoc] Companion classes are printed. --- src/compiler/scala/tools/nsc/doc/html/page/Template.scala | 9 +++++++++ src/compiler/scala/tools/nsc/doc/model/Entity.scala | 1 + src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala | 4 ++++ 3 files changed, 14 insertions(+) (limited to 'src/compiler') diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala index 575d671c8c..119823ff13 100644 --- a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala +++ b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala @@ -185,6 +185,15 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage { case _ => NodeSeq.Empty } } + { tpl.companion match { + case Some(companion) => +
+ Go to: companion +
+ case None => + NodeSeq.Empty + } + } def kindToString(mbr: MemberEntity): String = mbr match { diff --git a/src/compiler/scala/tools/nsc/doc/model/Entity.scala b/src/compiler/scala/tools/nsc/doc/model/Entity.scala index 39e3f0ce59..d7ef2b866d 100644 --- a/src/compiler/scala/tools/nsc/doc/model/Entity.scala +++ b/src/compiler/scala/tools/nsc/doc/model/Entity.scala @@ -70,6 +70,7 @@ trait DocTemplateEntity extends TemplateEntity with MemberEntity { def values: List[Val] def abstractTypes: List[AbstractType] def aliasTypes: List[AliasType] + def companion: Option[DocTemplateEntity] } /** A ''documentable'' trait. */ diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala index 9a74099b2f..f935dd4478 100644 --- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala @@ -178,6 +178,10 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { extractor = val aliasTypes = members partialMap { case t: AliasType => t } override def isTemplate = true def isDocTemplate = true + def companion = sym.linkedSym match { + case NoSymbol => None + case comSym => Some(makeDocTemplate(comSym, inTpl)) + } } abstract class PackageImpl(sym: Symbol, inTpl: => PackageImpl) extends DocTemplateImpl(sym, inTpl) with Package { -- cgit v1.2.3