diff options
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/core')
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala | 2 | ||||
-rw-r--r-- | doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala b/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala index d87cdf098..b6fbe0238 100644 --- a/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala +++ b/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala @@ -204,7 +204,7 @@ object transform { trait DocMiniPhase { phase => private def identity[E]: PartialFunction[E, E] = { - case id => id + case id: E @unchecked => id } def transformPackage(implicit ctx: Context): PartialFunction[Package, Package] = identity diff --git a/doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala index 29898b140..a281558d4 100644 --- a/doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala +++ b/doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala @@ -10,9 +10,17 @@ import model.internal._ /** This DocMiniPhase sorts the members of all classes, traits, objects and packages */ class SortMembers extends DocMiniPhase { + private implicit val EntityOrdering: Ordering[Entity] = new Ordering[Entity] { + def compare(x: Entity, y: Entity): Int = { + val nameComp = x.name.compareTo(y.name) + if (nameComp == 0) x.kind.compareTo(y.kind) + else nameComp + } + } + private def sort(xs: List[Entity]): List[Entity] = { def sortOrNil(xs: Option[List[Entity]]*) = - xs.map(_.getOrElse(Nil)).reduceLeft(_ ++ _).sortBy(_.name) + xs.map(_.getOrElse(Nil)).reduceLeft(_ ++ _).sorted val map = xs.groupBy(_.kind) |