diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-02 12:24:02 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-02 12:24:02 -0800 |
commit | d4b46f6e42c8124c54af56c0a3c1ac39b46b2c52 (patch) | |
tree | df14954c553d94e6254860f7872444b96fe1187a /src | |
parent | 0bb743170377ba6e110990d6d0fff764ce1fd153 (diff) | |
parent | d71f59ebda35bd58338b13eb55a6913a38d6d90e (diff) | |
download | scala-d4b46f6e42c8124c54af56c0a3c1ac39b46b2c52.tar.gz scala-d4b46f6e42c8124c54af56c0a3c1ac39b46b2c52.tar.bz2 scala-d4b46f6e42c8124c54af56c0a3c1ac39b46b2c52.zip |
Merge pull request #1911 from kzys/jira-4976
SI-4976 Scaladoc: Add a source link to package objects
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala index c6cfc317ea..0a469c9227 100644 --- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala @@ -314,12 +314,15 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { inform("Creating doc template for " + sym) override def toRoot: List[DocTemplateImpl] = this :: inTpl.toRoot - def inSource = - if (sym.sourceFile != null && ! sym.isSynthetic) - Some((sym.sourceFile, sym.pos.line)) + + protected def inSourceFromSymbol(symbol: Symbol) = + if (symbol.sourceFile != null && ! symbol.isSynthetic) + Some((symbol.sourceFile, symbol.pos.line)) else None + def inSource = inSourceFromSymbol(sym) + def sourceUrl = { def fixPath(s: String) = s.replaceAll("\\" + java.io.File.separator, "/") val assumedSourceRoot = fixPath(settings.sourcepath.value) stripSuffix "/" @@ -508,11 +511,11 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { abstract class PackageImpl(sym: Symbol, inTpl: PackageImpl) extends DocTemplateImpl(sym, inTpl) with Package { override def inTemplate = inTpl override def toRoot: List[PackageImpl] = this :: inTpl.toRoot - override lazy val linearization = { - val symbol = sym.info.members.find { + override lazy val (inSource, linearization) = { + val representive = sym.info.members.find { s => s.isPackageObject } getOrElse sym - linearizationFromSymbol(symbol) + (inSourceFromSymbol(representive), linearizationFromSymbol(representive)) } def packages = members collect { case p: PackageImpl if !(droppedPackages contains p) => p } } |