summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2014-12-03 15:58:19 -0800
committerSom Snytt <som.snytt@gmail.com>2014-12-03 16:38:50 -0800
commitdb8d5476537902760d33d29839afd813ff369ac8 (patch)
tree506989530c1805ad62ea4b21d851fcb1cf97372c /src/compiler
parent1810ac0bf47dcc40cc858f7a3c64356614f98110 (diff)
downloadscala-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-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 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 {