aboutsummaryrefslogtreecommitdiff
path: root/dottydoc/js/src/html/Member.scala
diff options
context:
space:
mode:
Diffstat (limited to 'dottydoc/js/src/html/Member.scala')
-rw-r--r--dottydoc/js/src/html/Member.scala50
1 files changed, 48 insertions, 2 deletions
diff --git a/dottydoc/js/src/html/Member.scala b/dottydoc/js/src/html/Member.scala
index 271885753..1d84e7831 100644
--- a/dottydoc/js/src/html/Member.scala
+++ b/dottydoc/js/src/html/Member.scala
@@ -119,7 +119,7 @@ trait MemberLayout {
"[",
tref
.paramLinks
- .map(linkToAnchor)
+ .map(referenceToLinks)
.flatMap(link => Seq(link, span(cls := "type-separator no-left-margin", ",").render))
.toList.dropRight(1),
"]"
@@ -141,6 +141,30 @@ trait MemberLayout {
span(cls := "type-separator", "&"),
referenceToLinks(right)
).render
+
+ case "BoundsReference" =>
+ val (low, high) = (ref.asInstanceOf[BoundsReference].low, ref.asInstanceOf[BoundsReference].high)
+ span(
+ referenceToLinks(low),
+ span(cls := "type-separator", "<:"),
+ referenceToLinks(high)
+ ).render
+
+ case "FunctionReference" => {
+ val func = ref.asInstanceOf[FunctionReference]
+ span(
+ cls := "no-left-margin",
+ if (func.args.length > 1) "(" else "",
+ if (func.args.isEmpty)
+ span("()")
+ else func
+ .args
+ .map(referenceToLinks)
+ .flatMap(link => Seq(link, span(cls := "type-separator no-left-margin", ",").render)).init.toList,
+ if (func.args.length > 1) ") => " else " => ",
+ referenceToLinks(func.returnValue)
+ ).render
+ }
}
}
@@ -183,7 +207,7 @@ trait MemberLayout {
returnValue,
"[",
trv.paramLinks
- .map(decodeTpeLink)
+ .map(link)
.flatMap { sp =>
Seq(sp, span(cls := "type-separator no-left-margin", ",").render)
}
@@ -208,6 +232,28 @@ trait MemberLayout {
span(cls := "type-separator", "&"),
link(right)
).render
+
+ case "BoundsReference" =>
+ val (low, high) = (rv.asInstanceOf[BoundsReference].low, rv.asInstanceOf[BoundsReference].high)
+ span(
+ link(low),
+ span(cls := "type-separator", "<:"),
+ link(high)
+ ).render
+ case "FunctionReference" =>
+ val func = rv.asInstanceOf[FunctionReference]
+ span(
+ cls := "no-left-margin",
+ if (func.args.length > 1) "(" else "",
+ if (func.args.isEmpty)
+ span("()")
+ else func
+ .args
+ .map(link)
+ .flatMap(link => Seq(link, span(cls := "type-separator no-left-margin", ",").render)).init.toList,
+ if (func.args.length > 1) ") => " else " => ",
+ link(func.returnValue)
+ ).render
}
}