diff options
author | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-01-04 11:49:27 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@typesafe.com> | 2016-01-04 11:49:27 +0100 |
commit | 73d8306424931acb301c9c00b19d72d31f51037e (patch) | |
tree | 7423e1ca0ce606af98062421fc153012e420ce56 | |
parent | ebc7f8ffb0927e79da8e6ecbbd8dca2e0d2e56a0 (diff) | |
parent | f0bf6ab59191777007ab41653884447520098674 (diff) | |
download | scala-73d8306424931acb301c9c00b19d72d31f51037e.tar.gz scala-73d8306424931acb301c9c00b19d72d31f51037e.tar.bz2 scala-73d8306424931acb301c9c00b19d72d31f51037e.zip |
Merge pull request #4889 from kzys/jira-8289
SI-8289 Scaladoc: Make the order of subclasses deterministic
-rw-r--r-- | src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala | 8 | ||||
-rw-r--r-- | src/scaladoc/scala/tools/nsc/doc/model/Entity.scala | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala b/src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala index a7991837a2..749ab1bf60 100644 --- a/src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala +++ b/src/scaladoc/scala/tools/nsc/doc/html/page/Template.scala @@ -13,11 +13,9 @@ package page import base._ import base.comment._ -import model._ -import model.diagram._ +import scala.collection.mutable import scala.xml.{NodeSeq, Text, UnprefixedAttribute} import scala.language.postfixOps -import scala.collection.mutable. { Set, HashSet } import model._ import model.diagram._ @@ -659,7 +657,7 @@ class Template(universe: doc.Universe, generator: DiagramGenerator, tpl: DocTemp val subclasses = mbr match { case dtpl: DocTemplateEntity if isSelf && !isReduced => - val subs: Set[DocTemplateEntity] = HashSet.empty + val subs = mutable.HashSet.empty[DocTemplateEntity] def transitive(dtpl: DocTemplateEntity) { for (sub <- dtpl.directSubClasses if !(subs contains sub)) { subs add sub @@ -671,7 +669,7 @@ class Template(universe: doc.Universe, generator: DiagramGenerator, tpl: DocTemp <div class="toggleContainer block"> <span class="toggle">Known Subclasses</span> <div class="subClasses hiddenContent">{ - templatesToHtml(subs.toList.sortBy(_.name), scala.xml.Text(", ")) + templatesToHtml(subs.toList.sorted(Entity.EntityOrdering), scala.xml.Text(", ")) }</div> </div> else NodeSeq.Empty diff --git a/src/scaladoc/scala/tools/nsc/doc/model/Entity.scala b/src/scaladoc/scala/tools/nsc/doc/model/Entity.scala index d55c51b19c..524f94443d 100644 --- a/src/scaladoc/scala/tools/nsc/doc/model/Entity.scala +++ b/src/scaladoc/scala/tools/nsc/doc/model/Entity.scala @@ -62,9 +62,15 @@ object Entity { case x: MemberEntity => x.deprecation.isDefined case _ => false } + + private def isObject(x: Entity) = x match { + case x: TemplateEntity => x.isObject + case _ => false + } + /** Ordering deprecated things last. */ implicit lazy val EntityOrdering: Ordering[Entity] = - Ordering[(Boolean, String)] on (x => (isDeprecated(x), x.name)) + Ordering[(Boolean, String, Boolean)] on (x => (isDeprecated(x), x.qualifiedName, isObject(x))) } /** A template, which is either a class, trait, object or package. Depending on whether documentation is available |