summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@epfl.ch>2008-07-15 17:02:57 +0000
committerAdriaan Moors <adriaan.moors@epfl.ch>2008-07-15 17:02:57 +0000
commit0a49cecf826a215cdccdc4b8fb7e568aa7d2730f (patch)
treedcf053ba35029704d42d18b175098ac2fc64decc /src/library
parentaa3d38d9a08f89c0f9ce21f25982b652bc86c20a (diff)
downloadscala-0a49cecf826a215cdccdc4b8fb7e568aa7d2730f.tar.gz
scala-0a49cecf826a215cdccdc4b8fb7e568aa7d2730f.tar.bz2
scala-0a49cecf826a215cdccdc4b8fb7e568aa7d2730f.zip
fixed #1100
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/util/parsing/combinator/Parsers.scala18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/library/scala/util/parsing/combinator/Parsers.scala b/src/library/scala/util/parsing/combinator/Parsers.scala
index 1061b85ac8..04e4fa432a 100644
--- a/src/library/scala/util/parsing/combinator/Parsers.scala
+++ b/src/library/scala/util/parsing/combinator/Parsers.scala
@@ -596,13 +596,17 @@ trait Parsers {
// assert(res.isInstanceOf[NoSuccess])
- if (!xs.isEmpty) {
- // the next parser should start parsing where p failed,
- // since `!p(in).successful', the next input to be consumed is `in'
- Success(xs.toList, in) // TODO: I don't think in == res.next holds
- }
- else {
- Failure(res.asInstanceOf[NoSuccess].msg, in0)
+ res match {
+ case e: Error => e
+ case _ =>
+ if (!xs.isEmpty) {
+ // the next parser should start parsing where p failed,
+ // since `!p(in).successful', the next input to be consumed is `in'
+ Success(xs.toList, in) // TODO: I don't think in == res.next holds
+ }
+ else {
+ Failure(res.asInstanceOf[NoSuccess].msg, in0)
+ }
}
}