Skip to content

Commit 9e80101

Browse files
authored
Merge pull request #10805 from lampepfl/fix-definition-classes
Fix Definition classes brief comments in Scala3doc
2 parents c4b1e36 + a2eb578 commit 9e80101

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package tests
22
package overrides
33

4-
class A:
4+
trait A:
55
def defInt: Int = 1
66

7-
class B extends A:
7+
trait B extends A:
88
override def defInt: Int = 2
99

10-
class C extends B:
11-
override def defInt: Int = 3
10+
trait C extends B
11+
12+
class D extends C:
13+
override def defInt: Int = 4

scala3doc/src/dotty/dokka/tasty/ClassLikeSupport.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,4 +466,4 @@ trait ClassLikeSupport:
466466
ctx.sourceSet.toSet,
467467
/*isExpectActual =*/ false,
468468
PropertyContainer.Companion.empty().plus(member.copy(rawDoc = symbol.documentation2)).plus(compositeExt)
469-
)
469+
)

scala3doc/src/dotty/renderers/MemberRenderer.scala

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,18 @@ class MemberRenderer(signatureRenderer: SignatureRenderer, buildNode: ContentNod
3232
def defintionClasses(m: Member) = m.origin match
3333
case Origin.Overrides(defs) =>
3434
def renderDef(d: Overriden): Seq[TagArg] =
35-
Seq(signatureRenderer.renderLink(d.name, d.dri), " -> ")
36-
37-
val nodes: Seq[TagArg] = defs.flatMap(renderDef).dropRight(1) // drop trailing arrow
35+
Seq(" -> ", signatureRenderer.renderLink(d.name, d.dri))
36+
val headNode = m.inheritedFrom.map(signatureRenderer.renderLink(_, _))
37+
val tailNodes = defs.flatMap(renderDef)
38+
val nodes = headNode.fold(tailNodes.drop(1))(_ +: tailNodes)
3839
tableRow("Definition Classes", div(nodes:_*))
3940

4041
case _ => Nil
4142

43+
def inheritedFrom(m: Member) = m.inheritedFrom match
44+
case Some(InheritedFrom(name, dri)) => tableRow("Inhertied from", signatureRenderer.renderLink(name, dri))
45+
case _ => Nil
46+
4247
def docAttributes(m: Member): Seq[AppliedTag] =
4348

4449
def nested(name: String, on: SortedMap[String, DocPart]): Seq[AppliedTag] =
@@ -113,6 +118,7 @@ class MemberRenderer(signatureRenderer: SignatureRenderer, buildNode: ContentNod
113118
companion(m),
114119
deprecation(m),
115120
defintionClasses(m),
121+
inheritedFrom(m),
116122
source(m),
117123
)
118124
)
@@ -361,4 +367,4 @@ class MemberRenderer(signatureRenderer: SignatureRenderer, buildNode: ContentNod
361367
memberInfo(m),
362368
classLikeParts(m),
363369
buildDocumentableFilter, // TODO Need to make it work in JS :(
364-
buildMembers(m))
370+
buildMembers(m))

0 commit comments

Comments
 (0)