summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/page/Template.scala15
-rw-r--r--test/scaladoc/resources/basic.scala7
-rw-r--r--test/scaladoc/scala/html/HtmlFactoryTest.scala10
3 files changed, 28 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
index 03fe5b4267..5f4950187e 100644
--- a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
+++ b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala
@@ -9,7 +9,7 @@ package html
package page
import model._
-import scala.xml.{ NodeSeq, Text, XML }
+import scala.xml.{ NodeSeq, Text, XML, UnprefixedAttribute }
class Template(tpl: DocTemplateEntity) extends HtmlPage {
@@ -538,10 +538,21 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage {
{
val nameHtml = {
val value = if (mbr.isConstructor) tpl.name else mbr.name
- if (mbr.deprecation.isDefined)
+ val span = if (mbr.deprecation.isDefined)
<span class={"name deprecated"} title={"Deprecated: "+bodyToStr(mbr.deprecation.get)}>{ value }</span>
else
<span class={"name"}>{ value }</span>
+ val encoded = scala.reflect.NameTransformer.encode(value)
+ if (encoded != value) {
+ span % new UnprefixedAttribute("title",
+ "gt4s: " + encoded +
+ span.attribute("title").map(
+ node => ". " + node
+ ).getOrElse(""),
+ scala.xml.Null)
+ } else {
+ span
+ }
}
if (!nameLink.isEmpty)
<a href={nameLink}>{nameHtml}</a>
diff --git a/test/scaladoc/resources/basic.scala b/test/scaladoc/resources/basic.scala
index 8645efd818..00db6669b4 100644
--- a/test/scaladoc/resources/basic.scala
+++ b/test/scaladoc/resources/basic.scala
@@ -8,6 +8,13 @@ package com.example.p1 {
class Clazz {
def foo = packageObjectMethod
implicit def intToClass1(n: Int) = new Clazz
+
+ @deprecated("This method is deprecated.")
+ def depracatedMethod = 0
+
+ // Google Token for Scala
+ def :: = 0
+ @deprecated("This method is deprecated.") def :::: = 0
}
class UpperBound[T <: Int]
diff --git a/test/scaladoc/scala/html/HtmlFactoryTest.scala b/test/scaladoc/scala/html/HtmlFactoryTest.scala
index 2c81be5d08..f265ddc8cf 100644
--- a/test/scaladoc/scala/html/HtmlFactoryTest.scala
+++ b/test/scaladoc/scala/html/HtmlFactoryTest.scala
@@ -141,8 +141,8 @@ object Test extends Properties("HtmlFactory") {
createTemplate("Trac4372.scala") match {
case node: scala.xml.Node => {
val html = node.toString
- html.contains("<span class=\"name\">+:</span>\n") &&
- html.contains("<span class=\"name\">-:</span>\n") &&
+ html.contains("<span class=\"name\" title=\"gt4s: $plus$colon\">+:</span>\n") &&
+ html.contains("<span class=\"name\" title=\"gt4s: $minus$colon\">-:</span>\n") &&
html.contains("""<span class="params">(<span name="n">n: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span>""")
}
case _ => false
@@ -381,6 +381,12 @@ object Test extends Properties("HtmlFactory") {
case Some(node: scala.xml.Node) => {
property("implicit convertion") =
node.toString contains "<span class=\"modifier\">implicit </span>"
+
+ property("gt4s") =
+ node.toString contains "title=\"gt4s: $colon$colon\""
+
+ property("gt4s of a deprecated method") =
+ node.toString contains "title=\"gt4s: $colon$colon$colon$colon. Deprecated: "
true
}
case _ => false