From 79c17aeb405ee02a64062f2daed02b1b735f0f92 Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Fri, 3 Feb 2017 16:13:18 +0100 Subject: Make sure `TypeAlias`es get proper docstrings and linked aliases --- doc-tool/resources/_layouts/api-page.html | 2 ++ doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala | 4 ++++ doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala | 8 ++++++++ 3 files changed, 14 insertions(+) (limited to 'doc-tool') diff --git a/doc-tool/resources/_layouts/api-page.html b/doc-tool/resources/_layouts/api-page.html index 3d4763ec7..f73d29ae7 100644 --- a/doc-tool/resources/_layouts/api-page.html +++ b/doc-tool/resources/_layouts/api-page.html @@ -22,6 +22,7 @@ extraCSS: {{ entity.name }} + {% if entity.typeParams.size > 0 %} [ {% for param in entity.typeParams %} @@ -35,6 +36,7 @@ extraCSS: {% endfor %} ] + {% endif %} {% if entity.superTypes.size > 0 %}
{% for super in entity.superTypes %} diff --git a/doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala index 55f2a05ba..3de8f68f7 100644 --- a/doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala +++ b/doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala @@ -63,4 +63,8 @@ class DocstringPhase extends DocMiniPhase with CommentParser with CommentCleaner override def transformVal(implicit ctx: Context) = { case ent: ValImpl => ent.copy(comment = parsedComment(ent)) } + + override def transformTypeAlias(implicit ctx: Context) = { case ent: TypeAliasImpl => + ent.copy(comment = parsedComment(ent)) + } } diff --git a/doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala b/doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala index 825cdf9ad..5e0099f4b 100644 --- a/doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala +++ b/doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala @@ -26,6 +26,14 @@ class LinkReturnTypes extends DocMiniPhase with TypeLinker { val returnValue = linkReference(vl, vl.returnValue, ctx.docbase.packages) vl.copy(returnValue = returnValue) } + + override def transformTypeAlias(implicit ctx: Context) = { case ta: TypeAliasImpl => + ta.alias.map { alias => + val linkedAlias = linkReference(ta, alias, ctx.docbase.packages) + ta.copy(alias = Some(linkedAlias)) + } + .getOrElse(ta) + } } class LinkParamListTypes extends DocMiniPhase with TypeLinker { -- cgit v1.2.3