diff options
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/model/references.scala')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/model/references.scala | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/references.scala b/doc-tool/src/dotty/tools/dottydoc/model/references.scala index 02304b302..a103347c1 100644 --- a/doc-tool/src/dotty/tools/dottydoc/model/references.scala +++ b/doc-tool/src/dotty/tools/dottydoc/model/references.scala @@ -16,7 +16,16 @@ object references { /** Use MaterializableLink for entities that need be picklable */ sealed trait MaterializableLink { def title: String } final case class UnsetLink(title: String, query: String) extends MaterializableLink - final case class MaterializedLink(title: String, target: String) extends MaterializableLink + final case class MaterializedLink(title: String, target: String) extends MaterializableLink { + def this(title: String, target: Entity) = this(title, target match { + case target: Package => + target.path.mkString("/") + "/index.html" + case _: TypeAlias | _: Def | _: Val => + target.parent.path.mkString("/") + ".html#" + target.signature + case _ => + target.path.mkString("/") + ".html" + }) + } final case class NoLink(title: String, target: String) extends MaterializableLink object AndOrTypeReference { |