From c35cac0557e085227ea091e887565e08ad467e82 Mon Sep 17 00:00:00 2001 From: Krzysztof Romanowski Date: Mon, 1 Feb 2021 13:54:15 +0100 Subject: [PATCH] pages for enums --- scala3doc/src/dotty/renderers/HtmlRenderer.scala | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scala3doc/src/dotty/renderers/HtmlRenderer.scala b/scala3doc/src/dotty/renderers/HtmlRenderer.scala index 22c49a51227c..deca09a0f9a5 100644 --- a/scala3doc/src/dotty/renderers/HtmlRenderer.scala +++ b/scala3doc/src/dotty/renderers/HtmlRenderer.scala @@ -29,10 +29,20 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx private val args = summon[DocContext].args val staticSite = summon[DocContext].staticSiteContext + private def needsOwnPage(member: Member): Boolean = + def properKind(kind: Kind): Boolean = kind match + case Kind.Package => true + case _ if kind.isInstanceOf[Classlike] => true + case Kind.Given(inner, _, _) => properKind(inner) + case Kind.EnumCase(inner) => properKind(inner) + case _ => false + + properKind(member.kind) && + member.origin == Origin.RegularlyDefined && + member.inheritedFrom.isEmpty + private def memberPage(member: Member): Page = - val childrenPages = member - .membersBy(m => m.kind == Kind.Package || m.kind.isInstanceOf[Classlike]) - .filter(m => m.origin == Origin.RegularlyDefined && m.inheritedFrom.isEmpty) + val childrenPages = member.members.filter(needsOwnPage) Page(Link(member.name, member.dri), member, childrenPages.map(memberPage)) val navigablePage: Page =