diff options
author | Csongor Kiss <kiss.csongor.kiss@gmail.com> | 2016-07-11 22:11:54 +0100 |
---|---|---|
committer | Csongor Kiss <kiss.csongor.kiss@gmail.com> | 2016-07-12 19:44:45 +0100 |
commit | 7668729bec9cad6977d1f5efb6ffd0035e56ff09 (patch) | |
tree | 972a1e5147fac1dd56bd1976c9820f9fb23d7678 | |
parent | 6ca5b9d4675c20002ca65dab3cacf32caade3933 (diff) | |
download | dotty-7668729bec9cad6977d1f5efb6ffd0035e56ff09.tar.gz dotty-7668729bec9cad6977d1f5efb6ffd0035e56ff09.tar.bz2 dotty-7668729bec9cad6977d1f5efb6ffd0035e56ff09.zip |
Fix: #1375, Infinite loop in interpreter
-rw-r--r-- | src/dotty/tools/dotc/printing/SyntaxHighlighting.scala | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala index 8a79e1ddc..67aa24243 100644 --- a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala +++ b/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala @@ -77,10 +77,15 @@ object SyntaxHighlighting { (n: @switch) match { case '/' => if (remaining.nonEmpty) { - takeChar() match { - case '/' => eolComment() - case '*' => blockComment() - case x => newBuf += '/'; remaining = x #:: remaining + remaining.head match { + case '/' => + takeChar() + eolComment() + case '*' => + takeChar() + blockComment() + case x => + newBuf += '/' } } else newBuf += '/' case '=' => |