summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2014-12-16 13:43:17 -0800
committerSom Snytt <som.snytt@gmail.com>2014-12-16 13:43:17 -0800
commit4d96a8ad0b7050303e0b841708ba452e708f6a35 (patch)
treecde02ccc18020efece1ab5e76616b520736572c9 /src/compiler/scala/tools/nsc/ast
parent7ba38a07916426314cc3bff6999f3992757e0b26 (diff)
downloadscala-4d96a8ad0b7050303e0b841708ba452e708f6a35.tar.gz
scala-4d96a8ad0b7050303e0b841708ba452e708f6a35.tar.bz2
scala-4d96a8ad0b7050303e0b841708ba452e708f6a35.zip
SI-5154 Parse leading literal brace in XML pattern
Don't consume literal brace as Scala pattern. Previously, leading space would let the text parser `xText` handle it correctly instead.
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast')
-rwxr-xr-xsrc/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
index f1517e56a0..96939e616c 100755
--- a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
@@ -425,11 +425,10 @@ trait MarkupParsers {
if (ch != '/') ts append xPattern // child
else return false // terminate
- case '{' => // embedded Scala patterns
- while (ch == '{') {
- nextch()
+ case '{' if xCheckEmbeddedBlock => // embedded Scala patterns, if not double brace
+ do {
ts ++= xScalaPatterns
- }
+ } while (xCheckEmbeddedBlock)
assert(!xEmbeddedBlock, "problem with embedded block")
case SU =>