diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-06-10 18:17:59 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-08-19 15:37:25 +0200 |
commit | 091272744ac958e847b408cd30b3bc9978136d0e (patch) | |
tree | 2424cc79a0d3d66bd15c51de79d2da4009572b2d /dottydoc/js | |
parent | a099344f81ddb0463bbc6da99c376df9f70667df (diff) | |
download | dotty-091272744ac958e847b408cd30b3bc9978136d0e.tar.gz dotty-091272744ac958e847b408cd30b3bc9978136d0e.tar.bz2 dotty-091272744ac958e847b408cd30b3bc9978136d0e.zip |
Add type parameters to rendered entity
Diffstat (limited to 'dottydoc/js')
-rw-r--r-- | dottydoc/js/src/html/Member.scala | 10 | ||||
-rw-r--r-- | dottydoc/js/src/model/entities.scala | 17 |
2 files changed, 21 insertions, 6 deletions
diff --git a/dottydoc/js/src/html/Member.scala b/dottydoc/js/src/html/Member.scala index c4989e762..8b6a85e59 100644 --- a/dottydoc/js/src/html/Member.scala +++ b/dottydoc/js/src/html/Member.scala @@ -48,7 +48,10 @@ trait MemberLayout { onclick := { () => toggleBetween(shortComment, and = fullComment) }, div( cls := "mdl-cell mdl-cell--12-col", - span(cls := "member-name", m.modifiers.mkString(" ") + " " + m.kind + " " + m.name), + span( + cls := "member-name", + m.modifiers.mkString(" ") + " " + m.kind + " " + m.name + typeParams(m) + ), returnValue(m, parent) ), shortComment, @@ -59,6 +62,11 @@ trait MemberLayout { } } + def typeParams(m: Entity): String = m match { + case d: Def if d.typeParams.nonEmpty => d.typeParams.mkString("[", ", ", "]") + case _ => "" + } + def returnValue(m: Entity with Modifiers, parent: Entity) = { // shortens: "Option.this.A" => "A" def shorten(s: String): String = s.split('.').toList match { diff --git a/dottydoc/js/src/model/entities.scala b/dottydoc/js/src/model/entities.scala index 4a4984a34..1d8c00b2c 100644 --- a/dottydoc/js/src/model/entities.scala +++ b/dottydoc/js/src/model/entities.scala @@ -21,9 +21,7 @@ import sjs.annotation.ScalaJSDefined @ScalaJSDefined trait Entity extends sjs.Object { val kind: String - val name: String - val path: sjs.Array[String] } @@ -53,13 +51,15 @@ trait Object extends Class trait Trait extends Class @ScalaJSDefined -trait Def extends Entity with Modifiers +trait Def extends Entity with Modifiers { + val typeParams: sjs.Array[String] +} @ScalaJSDefined -trait Val extends Def +trait Val extends Entity with Modifiers @ScalaJSDefined -trait Var extends Def +trait Var extends Entity with Modifiers object ops { val EntitiesWithMembers = @@ -79,4 +79,11 @@ object ops { val members = mbrs } } + + implicit class EntityOps(val ent: Entity) { + def typeParams: sjs.Array[String] = + if (ent.kind == "def") + ent.asInstanceOf[Def].typeParams + else sjs.Array() + } } |