diff options
author | Som Snytt <som.snytt@gmail.com> | 2014-12-03 15:58:19 -0800 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2014-12-03 16:38:50 -0800 |
commit | db8d5476537902760d33d29839afd813ff369ac8 (patch) | |
tree | 506989530c1805ad62ea4b21d851fcb1cf97372c /src/compiler | |
parent | 1810ac0bf47dcc40cc858f7a3c64356614f98110 (diff) | |
download | scala-db8d5476537902760d33d29839afd813ff369ac8.tar.gz scala-db8d5476537902760d33d29839afd813ff369ac8.tar.bz2 scala-db8d5476537902760d33d29839afd813ff369ac8.zip |
SI-9027 Parser eagerly consumes space on multi XML elements
Once the parser starts looking for more <elements>, it should
still lookahead speculatively, leaving any remaining whitespace,
including newlines, after the last element.
Diffstat (limited to 'src/compiler')
-rwxr-xr-x | src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala | 7 |
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 d3f495f280..f1517e56a0 100755 --- a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala @@ -346,12 +346,11 @@ trait MarkupParsers { // parse more XML ? if (charComingAfter(xSpaceOpt()) == '<') { - xSpaceOpt() - while (ch == '<') { + do { + xSpaceOpt() nextch() ts append element - xSpaceOpt() - } + } while (charComingAfter(xSpaceOpt()) == '<') handle.makeXMLseq(r2p(start, start, curOffset), ts) } else { |