summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2010-01-15 14:43:34 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2010-01-15 14:43:34 +0000
commitb0e6451e78740747da641d3c4b7f524f102810f9 (patch)
treeb69a666e5755138979dc19cae29e6de146972fe7 /src
parenta40276ad9a846248d9bd76ebc58b836522f7c36e (diff)
downloadscala-b0e6451e78740747da641d3c4b7f524f102810f9.tar.gz
scala-b0e6451e78740747da641d3c4b7f524f102810f9.tar.bz2
scala-b0e6451e78740747da641d3c4b7f524f102810f9.zip
[scaladoc] Companion classes are printed.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/page/Template.scala9
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/Entity.scala1
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala4
3 files changed, 14 insertions, 0 deletions
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) =>
+ <div class="block">
+ Go to: <a href={relativeLinkTo(companion)}>companion</a>
+ </div>
+ case None =>
+ NodeSeq.Empty
+ }
+ }
</xml:group>
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 {