diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2011-03-14 20:24:57 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2011-03-14 20:24:57 +0000 |
commit | fbf7125dd8df0e682c27069de42bb2c9e4b03ae7 (patch) | |
tree | ea93a06e36195b246dc598e3e720ba3ca674b44a /src | |
parent | 5602ec602a0795f72f7a8c2e6d1c96644906ef1c (diff) | |
download | scala-fbf7125dd8df0e682c27069de42bb2c9e4b03ae7.tar.gz scala-fbf7125dd8df0e682c27069de42bb2c9e4b03ae7.tar.bz2 scala-fbf7125dd8df0e682c27069de42bb2c9e4b03ae7.zip |
Applied second patch by asloane.
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/util/parsing/combinator/RegexParsers.scala | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/library/scala/util/parsing/combinator/RegexParsers.scala b/src/library/scala/util/parsing/combinator/RegexParsers.scala index fd3996a342..134e7e6323 100644 --- a/src/library/scala/util/parsing/combinator/RegexParsers.scala +++ b/src/library/scala/util/parsing/combinator/RegexParsers.scala @@ -45,8 +45,10 @@ trait RegexParsers extends Parsers { } if (i == s.length) Success(source.subSequence(start, j).toString, in.drop(j - offset)) - else - Failure("`"+s+"' expected but `"+in.first+"' found", in.drop(start - offset)) + else { + val found = if (start == source.length()) "end of source" else "`"+source.charAt(start)+"'" + Failure("`"+s+"' expected but "+found+" found", in.drop(start - offset)) + } } } @@ -61,7 +63,8 @@ trait RegexParsers extends Parsers { Success(source.subSequence(start, start + matched.end).toString, in.drop(start + matched.end - offset)) case None => - Failure("string matching regex `"+r+"' expected but `"+in.first+"' found", in.drop(start - offset)) + val found = if (start == source.length()) "end of source" else "`"+source.charAt(start)+"'" + Failure("string matching regex `"+r+"' expected but "+found+" found", in.drop(start - offset)) } } } |