From cb518a630107472cd187d03611ef6106a8e01f62 Mon Sep 17 00:00:00 2001 From: Antoine Gourlay Date: Sun, 14 Dec 2014 19:08:18 +0100 Subject: [PATCH] Revert "make RegexParser.err handle whitespace like literal and regex." --- build.sbt | 3 --- .../util/parsing/combinator/RegexParsers.scala | 16 ---------------- .../parsing/combinator/RegexParsersTest.scala | 17 +---------------- 3 files changed, 1 insertion(+), 35 deletions(-) diff --git a/build.sbt b/build.sbt index 2a4aea81..4c513616 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,4 @@ import com.typesafe.tools.mima.plugin.{MimaPlugin, MimaKeys} -import com.typesafe.tools.mima.core.{ProblemFilters, MissingMethodProblem} scalaModuleSettings @@ -32,5 +31,3 @@ test in Test := { MimaKeys.reportBinaryIssues.value (test in Test).value } - -MimaKeys.binaryIssueFilters += ProblemFilters.exclude[MissingMethodProblem]("scala.util.parsing.combinator.RegexParsers.scala$util$parsing$combinator$RegexParsers$$super$err") diff --git a/src/main/scala/scala/util/parsing/combinator/RegexParsers.scala b/src/main/scala/scala/util/parsing/combinator/RegexParsers.scala index e05d71e2..f345fae0 100644 --- a/src/main/scala/scala/util/parsing/combinator/RegexParsers.scala +++ b/src/main/scala/scala/util/parsing/combinator/RegexParsers.scala @@ -137,22 +137,6 @@ trait RegexParsers extends Parsers { } } - // we might want to make it public/protected in a future version - private def ws[T](p: Parser[T]): Parser[T] = new Parser[T] { - def apply(in: Input) = { - val offset = in.offset - val start = handleWhiteSpace(in.source, offset) - p(in.drop (start - offset)) - } - } - - /** - * @inheritdoc - * - * This parser additionnal skips whitespace if `skipWhitespace` returns true. - */ - override def err(msg: String) = ws(super.err(msg)) - override def phrase[T](p: Parser[T]): Parser[T] = super.phrase(p <~ opt("""\z""".r)) diff --git a/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala b/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala index f97b02bb..f894af3f 100644 --- a/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala +++ b/src/test/scala/scala/util/parsing/combinator/RegexParsersTest.scala @@ -1,7 +1,7 @@ package scala.util.parsing.combinator import org.junit.Test -import org.junit.Assert.{assertEquals,assertTrue} +import org.junit.Assert.assertEquals class RegexParsersTest { @Test @@ -73,19 +73,4 @@ class RegexParsersTest { val success = parseAll(twoWords, "first second").asInstanceOf[Success[(String, String)]] assertEquals(("second", "first"), success.get) } - - @Test - def errorConsumesWhitespace: Unit = { - object parser extends RegexParsers { - def num = "\\d+".r - - def twoNums = num ~ (num | err("error!")) - } - import parser._ - - // this used to return a Failure (for the second num) - val error = parseAll(twoNums, "458 bar") - assertTrue(s"expected an Error but got: ${error.getClass.getName}", error.isInstanceOf[Error]) - assertEquals("error!", error.asInstanceOf[Error].msg) - } }