summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKato Kazuyoshi <kato.kazuyoshi@gmail.com>2011-04-15 16:12:22 +0000
committerKato Kazuyoshi <kato.kazuyoshi@gmail.com>2011-04-15 16:12:22 +0000
commited52bec270e9ac659638f10c05d1d0efedf4c5cc (patch)
treeb1836ad9cac670bbab41fecbe6a15f9f43293768 /src
parent3c8bc3ab731206f93ad8428b11276237d1397a08 (diff)
downloadscala-ed52bec270e9ac659638f10c05d1d0efedf4c5cc.tar.gz
scala-ed52bec270e9ac659638f10c05d1d0efedf4c5cc.tar.bz2
scala-ed52bec270e9ac659638f10c05d1d0efedf4c5cc.zip
[scaladoc] Strike-through for deprecated symbol...
[scaladoc] Strike-through for deprecated symbols on the reference index. Closes #4471. Review by dubochet.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/doc/Index.scala4
-rwxr-xr-xsrc/compiler/scala/tools/nsc/doc/html/page/ReferenceIndex.scala42
-rwxr-xr-xsrc/compiler/scala/tools/nsc/doc/model/IndexModelFactory.scala17
3 files changed, 39 insertions, 24 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/Index.scala b/src/compiler/scala/tools/nsc/doc/Index.scala
index e845f8e909..ce44291ade 100644
--- a/src/compiler/scala/tools/nsc/doc/Index.scala
+++ b/src/compiler/scala/tools/nsc/doc/Index.scala
@@ -5,8 +5,8 @@ import scala.collection._
trait Index {
- type SymbolMap = SortedMap[String, SortedSet[model.TemplateEntity]]
+ type SymbolMap = SortedMap[String, SortedSet[model.MemberEntity]]
def firstLetterIndex: Map[Char, SymbolMap]
-} \ No newline at end of file
+}
diff --git a/src/compiler/scala/tools/nsc/doc/html/page/ReferenceIndex.scala b/src/compiler/scala/tools/nsc/doc/html/page/ReferenceIndex.scala
index 25e166a782..3e57f260c3 100755
--- a/src/compiler/scala/tools/nsc/doc/html/page/ReferenceIndex.scala
+++ b/src/compiler/scala/tools/nsc/doc/html/page/ReferenceIndex.scala
@@ -7,7 +7,7 @@ package scala.tools.nsc
package doc
package html
package page
-
+import doc.model._
class ReferenceIndex(letter: Char, index: doc.Index, universe: Universe) extends HtmlPage {
@@ -25,18 +25,34 @@ class ReferenceIndex(letter: Char, index: doc.Index, universe: Universe) extends
<script type="text/javascript" src={ relativeLinkTo{List("jquery.js", "lib")} }></script>
</xml:group>
+
+ private def entry(name: String, methods: Iterable[MemberEntity]) = {
+ val occurrences = methods.map(method => {
+ val html = templateToHtml(method.inDefinitionTemplates.head)
+ if (method.deprecation.isDefined) {
+ <strike>{ html }</strike>
+ } else {
+ html
+ }
+ })
+
+ <div class="entry">
+ <div class="name">{
+ if (methods.find { ! _.deprecation.isDefined } != None)
+ name
+ else
+ <strike>{ name }</strike>
+ }</div>
+ <div class="occurrences">{
+ for (owner <- occurrences) yield owner ++ xml.Text(" ")
+ }</div>
+ </div>
+ }
+
def body =
- <body>
- { for(groups <- index.firstLetterIndex(letter)) yield {
- <div class="entry">
- <div class="name">{ groups._1 }</div>
- <div class="occurrences">
- { for(owner <- groups._2.view) yield {
- templateToHtml(owner) ++ xml.Text(" ")
- } }
- </div>
- </div>
- } }
- </body>
+ <body>{
+ for(groups <- index.firstLetterIndex(letter)) yield
+ entry(groups._1, groups._2.view)
+ }</body>
}
diff --git a/src/compiler/scala/tools/nsc/doc/model/IndexModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/IndexModelFactory.scala
index 6c599e1a88..3d3d3d7876 100755
--- a/src/compiler/scala/tools/nsc/doc/model/IndexModelFactory.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/IndexModelFactory.scala
@@ -18,7 +18,7 @@ object IndexModelFactory {
val result = new mutable.HashMap[Char,SymbolMap] {
/* Owner template ordering */
- implicit def orderingSet = math.Ordering.String.on { x: TemplateEntity => x.name.toLowerCase }
+ implicit def orderingSet = math.Ordering.String.on { x: MemberEntity => x.name.toLowerCase }
/* symbol name ordering */
implicit def orderingMap = math.Ordering.String.on { x: String => x.toLowerCase }
@@ -27,14 +27,13 @@ object IndexModelFactory {
val ch = d.name.head.toLower
if(ch.isLetterOrDigit) ch else '#'
}
- this(firstLetter) =
- if(this.contains(firstLetter)) {
- val letter = this(firstLetter)
- val value = this(firstLetter).get(d.name).getOrElse(SortedSet.empty[TemplateEntity]) + d.inDefinitionTemplates.head
- letter + ((d.name, value))
- } else {
- immutable.SortedMap( (d.name, SortedSet(d.inDefinitionTemplates.head)) )
+ val letter = this.get(firstLetter).getOrElse {
+ immutable.SortedMap[String, SortedSet[MemberEntity]]()
}
+ val members = letter.get(d.name).getOrElse {
+ SortedSet.empty[MemberEntity](Ordering.by { _.toString })
+ } + d
+ this(firstLetter) = letter + (d.name -> members)
}
}
@@ -63,4 +62,4 @@ object IndexModelFactory {
}
-} \ No newline at end of file
+}