aboutsummaryrefslogtreecommitdiff
path: root/doc-tool/src/dotty/tools/dottydoc/core
diff options
context:
space:
mode:
Diffstat (limited to 'doc-tool/src/dotty/tools/dottydoc/core')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala2
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala10
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)