diff options
author | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2014-12-08 14:34:01 +0100 |
---|---|---|
committer | Grzegorz Kossakowski <grzegorz.kossakowski@gmail.com> | 2014-12-08 14:34:01 +0100 |
commit | 3115f885ff269b15eed307e5966bf2aec03904ab (patch) | |
tree | 79d886126455821d0993ab4541e7ffeff4160fa0 | |
parent | a908ded364a6f8b664c6b02552a909c143d21b19 (diff) | |
parent | 736293ab0977a79175ed025149263456526dc561 (diff) | |
download | scala-3115f885ff269b15eed307e5966bf2aec03904ab.tar.gz scala-3115f885ff269b15eed307e5966bf2aec03904ab.tar.bz2 scala-3115f885ff269b15eed307e5966bf2aec03904ab.zip |
Merge pull request #4186 from som-snytt/issue/9027-backport
SI-9027 Backport xml parser fix
-rw-r--r-- | bincompat-backward.whitelist.conf | 6 | ||||
-rw-r--r-- | bincompat-forward.whitelist.conf | 5 | ||||
-rwxr-xr-x | src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala | 11 |
3 files changed, 16 insertions, 6 deletions
diff --git a/bincompat-backward.whitelist.conf b/bincompat-backward.whitelist.conf index 2d3c20370d..5ddad1fbf0 100644 --- a/bincompat-backward.whitelist.conf +++ b/bincompat-backward.whitelist.conf @@ -100,6 +100,12 @@ filter { { matchName="scala.reflect.runtime.SymbolLoaders.isInvalidClassName" problemName=MissingMethodProblem + }, + + { + matchName="scala.xml.dtd.ElementValidator.scala$xml$dtd$ElementValidator$$find$2" + problemName=IncompatibleMethTypeProblem } ] } + diff --git a/bincompat-forward.whitelist.conf b/bincompat-forward.whitelist.conf index d8a91f3ae8..c9cf4f74b9 100644 --- a/bincompat-forward.whitelist.conf +++ b/bincompat-forward.whitelist.conf @@ -182,6 +182,11 @@ filter { # only accessible from util.parsing.combinator package matchName="scala.util.parsing.combinator.SubSequence" problemName=MissingClassProblem + }, + + { + matchName="scala.xml.dtd.ElementValidator.scala$xml$dtd$ElementValidator$$find$2" + problemName=IncompatibleMethTypeProblem } ] } diff --git a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala index 553a2088a6..a27bf6bea2 100755 --- a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala @@ -349,13 +349,12 @@ trait MarkupParsers { content_LT(ts) // parse more XML ? - if (charComingAfter(xSpaceOpt) == '<') { - xSpaceOpt - while (ch == '<') { - nextch + if (charComingAfter(xSpaceOpt()) == '<') { + do { + xSpaceOpt() + nextch() ts append element - xSpaceOpt - } + } while (charComingAfter(xSpaceOpt()) == '<') handle.makeXMLseq(r2p(start, start, curOffset), ts) } else { |