aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/util
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-21 19:56:10 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:32:40 +0100
commit3e9451d79b3e6845c4b1c0906401108a609eddf8 (patch)
tree66a01844ca1043f5dc5b16ea0c8d7da93d70479f /doc-tool/src/dotty/tools/dottydoc/util
parent384f5a0dba5c2102327015c67781462ba475e43a (diff)
downloaddotty-3e9451d79b3e6845c4b1c0906401108a609eddf8.tar.gz
dotty-3e9451d79b3e6845c4b1c0906401108a609eddf8.tar.bz2
dotty-3e9451d79b3e6845c4b1c0906401108a609eddf8.zip
Fix insertion of package nodes in doc AST
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/util')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/util/mutate.scala2
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/util/traversing.scala (renamed from doc-tool/src/dotty/tools/dottydoc/util/Traversing.scala)18
2 files changed, 20 insertions, 0 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/util/mutate.scala b/doc-tool/src/dotty/tools/dottydoc/util/mutate.scala
index a5a4dfec6..739a1e19d 100644
--- a/doc-tool/src/dotty/tools/dottydoc/util/mutate.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/util/mutate.scala
@@ -35,6 +35,8 @@ object setters {
e.parent = to
case e: DefImpl =>
e.parent = to
+ case e: TypeAliasImpl =>
+ e.parent = to
case _ => ()
}
diff --git a/doc-tool/src/dotty/tools/dottydoc/util/Traversing.scala b/doc-tool/src/dotty/tools/dottydoc/util/traversing.scala
index a3b60fa44..9c2e3bf54 100644
--- a/doc-tool/src/dotty/tools/dottydoc/util/Traversing.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/util/traversing.scala
@@ -22,4 +22,22 @@ object traversing {
"../" * (from.path.length - offset) +
to.path.mkString("", "/", ".html")
}
+
+
+ def rootPackages(pkgs: Map[String, Package]): List[String] = {
+ var currentDepth = Int.MaxValue
+ var packs = List.empty[String]
+
+ for (key <- pkgs.keys) {
+ val keyDepth = key.split("\\.").length
+ packs =
+ if (keyDepth < currentDepth) {
+ currentDepth = keyDepth
+ key :: Nil
+ } else if (keyDepth == currentDepth) {
+ key :: packs
+ } else packs
+ }
+ packs
+ }
}