Skip to content

Commit

Permalink
Merge pull request #11962 from BarkingBad/scaladoc/fix-briefs
Browse files Browse the repository at this point in the history
Fix bug with doubling comments in Scaladoc
  • Loading branch information
romanowski authored Apr 6, 2021
2 parents 16776c8 + 2f3eb3c commit 39422ce
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 18 deletions.
33 changes: 18 additions & 15 deletions scaladoc/src/dotty/tools/scaladoc/renderers/MemberRenderer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -92,24 +92,26 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
Seq(dt("Deprecated"), dd(content:_*))
}

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

Seq(
div(cls := "documentableBrief doc")(comment.flatMap(_.short).fold("")(renderDocPart)),
div(cls := "cover")(
div(cls := "doc")(bodyContents),
dl(cls := "attributes")(
docAttributes(m),
companion(m),
deprecation(m),
defintionClasses(m),
inheritedFrom(m),
source(m),
Option.when(withBrief)(div(cls := "documentableBrief doc")(comment.flatMap(_.short).fold("")(renderDocPart))),
Some(
div(cls := "cover")(
div(cls := "doc")(bodyContents),
dl(cls := "attributes")(
docAttributes(m),
companion(m),
deprecation(m),
defintionClasses(m),
inheritedFrom(m),
source(m),
)
)
)
)
).flatten

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

div(
intro,
memberInfo(m),
memberInfo(m, withBrief = false),
classLikeParts(m),
buildDocumentableFilter, // TODO Need to make it work in JS :(
buildMembers(m))
buildMembers(m)
)
4 changes: 2 additions & 2 deletions scaladoc/test/dotty/tools/scaladoc/BaseHtmlTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import dotty.tools.scaladoc.test.BuildInfo
import util.IO

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

def projectName = "Test Project Name"
def projectVersion = "1.0.1-M1"
Expand Down Expand Up @@ -66,4 +66,4 @@ class BaseHtmlTest:
val path = summon[ProjectContext].path.resolve(pathStr)
assertTrue(s"File at $path does not exisits!", Files.exists(path))
val document = Jsoup.parse(IO.read(path))
op(DocumentContext(document, path))
op(DocumentContext(document, path))
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ abstract class BaseIntegrationTest(pck: String) extends BaseHtmlTest:
@Test
def testLinks: Unit = withGeneratedDoc(pcks = Seq(pck, "commonlinks")) {
def checkDocLinks(links: String*)(ctx: DocumentContext): Unit =
ctx.assertAttr(".documentableBrief a", "href", links:_*)
ctx.assertAttr(".documentableBrief a, .cover a", "href", links:_*)
ctx.assertNotExists("unresolvedLinkSelector")

def checkUnresolved(ctx: DocumentContext): Unit =
Expand Down

0 comments on commit 39422ce

Please sign in to comment.