diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-08-06 20:53:15 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-08-19 15:37:33 +0200 |
commit | 922788ac39f7538b79b58c326bd22c641a8e2490 (patch) | |
tree | c24de6db3dc8536a7aadc72d569a3212fcafe9f2 /dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala | |
parent | 94dd0bccbb68618bc668c6005316d6930ae26069 (diff) | |
download | dotty-922788ac39f7538b79b58c326bd22c641a8e2490.tar.gz dotty-922788ac39f7538b79b58c326bd22c641a8e2490.tar.bz2 dotty-922788ac39f7538b79b58c326bd22c641a8e2490.zip |
Add info on where implicitly added members originate from
Diffstat (limited to 'dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala')
-rw-r--r-- | dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala index e8c8790d9..7ce6b187b 100644 --- a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala +++ b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala @@ -37,6 +37,18 @@ class LinkParamListTypes extends DocMiniPhase with TypeLinker { } } +class LinkImplicitlyAddedTypes extends DocMiniPhase with TypeLinker { + override def transformDef(implicit ctx: Context) = { case df: DefImpl if df.implicitlyAddedFrom.isDefined => + val implicitlyAddedFrom = linkReference(df, df.implicitlyAddedFrom.get, ctx.docbase.packages[Package].toMap) + df.copy(implicitlyAddedFrom = Some(implicitlyAddedFrom)) + } + + override def transformVal(implicit ctx: Context) = { case vl: ValImpl if vl.implicitlyAddedFrom.isDefined => + val implicitlyAddedFrom = linkReference(vl, vl.implicitlyAddedFrom.get, ctx.docbase.packages[Package].toMap) + vl.copy(implicitlyAddedFrom = Some(implicitlyAddedFrom)) + } +} + trait TypeLinker extends MemberLookup { def linkReference(ent: Entity, ref: Reference, packs: Map[String, Package]): Reference = { def linkRef(ref: Reference) = linkReference(ent, ref, packs) |