aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/util
diff options
context:
space:
mode:
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
+ }
}