diff options
author | Vlad Ureche <vlad.ureche@gmail.com> | 2012-07-25 14:30:13 +0200 |
---|---|---|
committer | Vlad Ureche <vlad.ureche@gmail.com> | 2012-07-25 14:34:11 +0200 |
commit | fa09fad51fb54ad37d34685943ec1c74dbbf8687 (patch) | |
tree | d27197682b0c16e35fb722ab346500ccca91c9e9 | |
parent | 950c783e31f9cb5d4268cc83d824020c8345d910 (diff) | |
download | scala-fa09fad51fb54ad37d34685943ec1c74dbbf8687.tar.gz scala-fa09fad51fb54ad37d34685943ec1c74dbbf8687.tar.bz2 scala-fa09fad51fb54ad37d34685943ec1c74dbbf8687.zip |
SI-6140 Scaladoc infinite recursion in wiki parser
introduced by dc70d1b7.
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala | 2 | ||||
-rw-r--r-- | test/scaladoc/run/SI-6140.check | 1 | ||||
-rw-r--r-- | test/scaladoc/run/SI-6140.scala | 18 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala b/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala index 1a11964e37..85d6a8911e 100644 --- a/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/comment/CommentFactory.scala @@ -660,7 +660,7 @@ trait CommentFactory { thisFactory: ModelFactory with CommentFactory with Member else if (check(",,")) subscript() else if (check("[[")) link() else { - readUntil { char == safeTagMarker || check("''") || char == '`' || check("__") || char == '^' || check(",,") || check("[[") || check("{{") || isInlineEnd || checkParaEnded || char == endOfLine } + readUntil { char == safeTagMarker || check("''") || char == '`' || check("__") || char == '^' || check(",,") || check("[[") || isInlineEnd || checkParaEnded || char == endOfLine } Text(getRead()) } } diff --git a/test/scaladoc/run/SI-6140.check b/test/scaladoc/run/SI-6140.check new file mode 100644 index 0000000000..619c56180b --- /dev/null +++ b/test/scaladoc/run/SI-6140.check @@ -0,0 +1 @@ +Done. diff --git a/test/scaladoc/run/SI-6140.scala b/test/scaladoc/run/SI-6140.scala new file mode 100644 index 0000000000..4bb9a4dc85 --- /dev/null +++ b/test/scaladoc/run/SI-6140.scala @@ -0,0 +1,18 @@ +import scala.tools.nsc.doc.model._ +import scala.tools.partest.ScaladocModelTest + +object Test extends ScaladocModelTest { + + // This caused an infinite recursion in method inline() in CommentFactory.scala + override def code = """ + /** {{ code? }} */ + class C + """ + + // no need for special settings + def scaladocSettings = "" + + def testModel(rootPackage: Package) = { + // if it doesn't hang, the test is passed + } +} |