diff options
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/util')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/util/mutate.scala | 2 | ||||
-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 + } } |