Skip to content

Commit 6443005

Browse files
committed
Remove empty packages from AST
1 parent d97d35d commit 6443005

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

doc-tool/src/dotty/tools/dottydoc/DocCompiler.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class DocCompiler extends Compiler {
3333
new LinkCompanions,
3434
new AlternateConstructors,
3535
new SortMembers)),
36+
List(DocMiniTransformations(new RemoveEmptyPackages)),
3637
List(new StatisticsPhase)
3738
)
3839
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package dotty.tools
2+
package dottydoc
3+
package core
4+
5+
import dotc.core.Contexts.Context
6+
7+
import transform.DocMiniPhase
8+
import model._
9+
10+
class RemoveEmptyPackages extends DocMiniPhase {
11+
override def transformPackage(implicit ctx: Context) = { case p: Package =>
12+
if (p.members.exists(_.kind != "package")) p
13+
else NonEntity
14+
}
15+
}

doc-tool/src/dotty/tools/dottydoc/core/transform.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ object transform {
5353
pack <- rootPackages(ctx.docbase.packages)
5454
transformed = performPackageTransform(pack)
5555
} yield ctx.docbase.packagesMutable(pack.name) = transformed
56+
57+
ctx.docbase.packagesMutable.foreach { case (key, value) =>
58+
if (value eq NonEntity) ctx.docbase.packagesMutable -= key
59+
}
60+
5661
units
5762
}
5863

0 commit comments

Comments
 (0)