From 9a92a5d0165c3e8a5656fb39c0a7f2334377b68f Mon Sep 17 00:00:00 2001 From: Paul Wagland Date: Tue, 8 Oct 2013 00:48:26 +0200 Subject: [PATCH] Change stringLiteral to match possessively, this eliminates recursion in the regex engine. --- .../scala/scala/util/parsing/combinator/JavaTokenParsers.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala b/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala index 01288a18..1e6b1624 100644 --- a/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala +++ b/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala @@ -49,7 +49,7 @@ trait JavaTokenParsers extends RegexParsers { */ @migration("`stringLiteral` allows escaping single and double quotes, but not forward slashes any longer.", "2.10.0") def stringLiteral: Parser[String] = - ("\""+"""([^"\p{Cntrl}\\]|\\[\\'"bfnrt]|\\u[a-fA-F0-9]{4})*"""+"\"").r + ("\""+"""([^"\p{Cntrl}\\]|\\[\\'"bfnrt]|\\u[a-fA-F0-9]{4})*+"""+"\"").r /** A number following the rules of `decimalNumber`, with the following * optional additions: *