Skip to content

Commit 2f3eb3c

Browse files
committed
Fix bug with doubling comments in Scaladoc
1 parent acdbb47 commit 2f3eb3c

File tree

3 files changed

+21
-18
lines changed

3 files changed

+21
-18
lines changed

scaladoc/src/dotty/tools/scaladoc/renderers/MemberRenderer.scala

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -92,24 +92,26 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
9292
Seq(dt("Deprecated"), dd(content:_*))
9393
}
9494

95-
def memberInfo(m: Member): Seq[AppliedTag] =
95+
def memberInfo(m: Member, withBrief: Boolean = false): Seq[AppliedTag] =
9696
val comment = m.docs
9797
val bodyContents = m.docs.fold(Nil)(e => renderDocPart(e.body) :: Nil)
9898

9999
Seq(
100-
div(cls := "documentableBrief doc")(comment.flatMap(_.short).fold("")(renderDocPart)),
101-
div(cls := "cover")(
102-
div(cls := "doc")(bodyContents),
103-
dl(cls := "attributes")(
104-
docAttributes(m),
105-
companion(m),
106-
deprecation(m),
107-
defintionClasses(m),
108-
inheritedFrom(m),
109-
source(m),
100+
Option.when(withBrief)(div(cls := "documentableBrief doc")(comment.flatMap(_.short).fold("")(renderDocPart))),
101+
Some(
102+
div(cls := "cover")(
103+
div(cls := "doc")(bodyContents),
104+
dl(cls := "attributes")(
105+
docAttributes(m),
106+
companion(m),
107+
deprecation(m),
108+
defintionClasses(m),
109+
inheritedFrom(m),
110+
source(m),
111+
)
110112
)
111113
)
112-
)
114+
).flatten
113115

114116
private def originInfo(m: Member): Seq[TagArg] = m.origin match {
115117
case Origin.ImplicitlyAddedBy(name, dri) =>
@@ -170,7 +172,7 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
170172
span(cls := "modifiers"), // just to have padding on left
171173
div(
172174
div(cls := "originInfo")(originInfo(member):_*),
173-
div(cls := "memberDocumentation")(memberInfo(member)),
175+
div(cls := "memberDocumentation")(memberInfo(member, withBrief = true)),
174176
)
175177
)
176178
)
@@ -382,7 +384,8 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
382384

383385
div(
384386
intro,
385-
memberInfo(m),
387+
memberInfo(m, withBrief = false),
386388
classLikeParts(m),
387389
buildDocumentableFilter, // TODO Need to make it work in JS :(
388-
buildMembers(m))
390+
buildMembers(m)
391+
)

scaladoc/test/dotty/tools/scaladoc/BaseHtmlTest.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import dotty.tools.scaladoc.test.BuildInfo
1212
import util.IO
1313

1414
class BaseHtmlTest:
15-
val unresolvedLinkSelector = ".documentableBrief span[data-unresolved-link]"
15+
val unresolvedLinkSelector = ".documentableBrief span[data-unresolved-link], .cover span[data-unresolved-link]"
1616

1717
def projectName = "Test Project Name"
1818
def projectVersion = "1.0.1-M1"
@@ -66,4 +66,4 @@ class BaseHtmlTest:
6666
val path = summon[ProjectContext].path.resolve(pathStr)
6767
assertTrue(s"File at $path does not exisits!", Files.exists(path))
6868
val document = Jsoup.parse(IO.read(path))
69-
op(DocumentContext(document, path))
69+
op(DocumentContext(document, path))

scaladoc/test/dotty/tools/scaladoc/tasty/comments/IntegrationTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ abstract class BaseIntegrationTest(pck: String) extends BaseHtmlTest:
88
@Test
99
def testLinks: Unit = withGeneratedDoc(pcks = Seq(pck, "commonlinks")) {
1010
def checkDocLinks(links: String*)(ctx: DocumentContext): Unit =
11-
ctx.assertAttr(".documentableBrief a", "href", links:_*)
11+
ctx.assertAttr(".documentableBrief a, .cover a", "href", links:_*)
1212
ctx.assertNotExists("unresolvedLinkSelector")
1313

1414
def checkUnresolved(ctx: DocumentContext): Unit =

0 commit comments

Comments
 (0)