aboutsummaryrefslogtreecommitdiff
path: root/dottydoc
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-08-07 16:21:24 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-08-19 15:37:33 +0200
commit5fdc353794e1175a3967a7df10e5d80c443a5754 (patch)
treefb6ec61f824fa8b50d53b9cc9cb5cbaa3cc62f01 /dottydoc
parent922788ac39f7538b79b58c326bd22c641a8e2490 (diff)
downloaddotty-5fdc353794e1175a3967a7df10e5d80c443a5754.tar.gz
dotty-5fdc353794e1175a3967a7df10e5d80c443a5754.tar.bz2
dotty-5fdc353794e1175a3967a7df10e5d80c443a5754.zip
Fix phase fusion for subpackages, fix links in implicitly added methods
Diffstat (limited to 'dottydoc')
-rw-r--r--dottydoc/js/src/html/Member.scala3
-rw-r--r--dottydoc/jvm/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala7
-rw-r--r--dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala14
-rw-r--r--dottydoc/jvm/src/dotty/tools/dottydoc/model/factories.scala3
-rw-r--r--dottydoc/jvm/src/dotty/tools/dottydoc/util/MemberLookup.scala3
-rw-r--r--dottydoc/jvm/src/dotty/tools/dottydoc/util/Traversing.scala2
6 files changed, 21 insertions, 11 deletions
diff --git a/dottydoc/js/src/html/Member.scala b/dottydoc/js/src/html/Member.scala
index dbd1883fa..ec17b5021 100644
--- a/dottydoc/js/src/html/Member.scala
+++ b/dottydoc/js/src/html/Member.scala
@@ -118,7 +118,8 @@ trait MemberLayout {
case "NoLink" => span(link.title).render
case "UnsetLink" =>
- println(s"UnsetLink found: $link")
+ println("UnsetLink found:")
+ scala.scalajs.js.Dynamic.global.console.log(link)
span(link.title).render
}
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
index cd1fef52f..7bdb2bf4e 100644
--- a/dottydoc/jvm/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
+++ b/dottydoc/jvm/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala
@@ -76,12 +76,17 @@ object transform {
def traverse(ent: Entity): Entity = ent match {
case p: Package => transformEntity(p, _.packageTransformation) { p =>
- PackageImpl(
+ val newPackage = PackageImpl(
p.name,
p.members.map(traverse),
p.path,
p.comment
)
+
+ // Update reference in context to newPackage
+ ctx.docbase.packages[Package] += (newPackage.path.mkString(".") -> newPackage)
+
+ newPackage
}
case c: Class => transformEntity(c, _.classTransformation) { newClass =>
ClassImpl(
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala
index 7ce6b187b..9d29176c2 100644
--- a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala
+++ b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala
@@ -38,14 +38,16 @@ 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 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))
+ 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))
}
}
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/model/factories.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/model/factories.scala
index 4d80c08a9..929d42d4f 100644
--- a/dottydoc/jvm/src/dotty/tools/dottydoc/model/factories.scala
+++ b/dottydoc/jvm/src/dotty/tools/dottydoc/model/factories.scala
@@ -92,7 +92,8 @@ object factories {
case tt: ThisType =>
expandTpe(tt.underlying)
case ci: ClassInfo =>
- typeRef(ci.cls.name.show)
+ val query = path(ci.typeSymbol).mkString(".")
+ typeRef(ci.cls.name.show, query = query)
case mt: MethodType =>
expandTpe(mt.resultType)
case pt: PolyType =>
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/util/MemberLookup.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/util/MemberLookup.scala
index d8abb0319..40c775428 100644
--- a/dottydoc/jvm/src/dotty/tools/dottydoc/util/MemberLookup.scala
+++ b/dottydoc/jvm/src/dotty/tools/dottydoc/util/MemberLookup.scala
@@ -77,8 +77,7 @@ trait MemberLookup {
case (x :: _, e: Entity with Members) if x == entity.name =>
downwardLookup(e, querys)
case (x :: xs, _) =>
- if (xs.nonEmpty)
- globalLookup
+ if (xs.nonEmpty) globalLookup
else lookup(entity, packages, "scala." + query, pos)
}
}
diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/util/Traversing.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/util/Traversing.scala
index 2ac8eae4f..a3b60fa44 100644
--- a/dottydoc/jvm/src/dotty/tools/dottydoc/util/Traversing.scala
+++ b/dottydoc/jvm/src/dotty/tools/dottydoc/util/Traversing.scala
@@ -13,6 +13,8 @@ object traversing {
def relativePath(from: Entity, to: Entity) = {
val offset = from match {
+ case v: Val if v.implicitlyAddedFrom.isDefined => 3
+ case d: Def if d.implicitlyAddedFrom.isDefined => 3
case _: Val | _: Def => 2
case _ => 1
}