diff --git a/jvm/src/test/scala/scala/util/parsing/combinator/t9010.scala b/jvm/src/test/scala/scala/util/parsing/combinator/t9010.scala deleted file mode 100644 index 38ccdbfa..00000000 --- a/jvm/src/test/scala/scala/util/parsing/combinator/t9010.scala +++ /dev/null @@ -1,28 +0,0 @@ -import scala.util.parsing.combinator._ -import scala.util.DynamicVariable - -import org.junit.Test - -class t9010 { - @Test - def test: Unit = { - val p = new grammar - import p._ - - val res1 = parse(x, "x") - assert(res1.successful) - - val res2 = parse(x, "y") - assert(!res2.successful) - - val res3 = parseAll(x, "x") - assert(res3.successful) - - val res4 = parseAll(x, "y") - assert(!res4.successful) - } - - private final class grammar extends RegexParsers { - val x: Parser[String] = "x" - } -} diff --git a/shared/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala b/shared/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala index 5051efa2..ef28944f 100644 --- a/shared/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala +++ b/shared/src/main/scala/scala/util/parsing/combinator/JavaTokenParsers.scala @@ -29,11 +29,10 @@ trait JavaTokenParsers extends RegexParsers { * The Java Language Spec. * Generally, this means a letter, followed by zero or more letters or numbers. */ - def ident: Parser[String] = ( + def ident: Parser[String] = "" ~> // handle whitespace rep1(acceptIf(Character.isJavaIdentifierStart)("identifier expected but '" + _ + "' found"), elem("identifier part", Character.isJavaIdentifierPart(_: Char))) ^^ (_.mkString) - ) /** An integer, without sign or with a negative sign. */ def wholeNumber: Parser[String] = diff --git a/shared/src/main/scala/scala/util/parsing/combinator/lexical/StdLexical.scala b/shared/src/main/scala/scala/util/parsing/combinator/lexical/StdLexical.scala index a41ec8d1..841399c9 100644 --- a/shared/src/main/scala/scala/util/parsing/combinator/lexical/StdLexical.scala +++ b/shared/src/main/scala/scala/util/parsing/combinator/lexical/StdLexical.scala @@ -63,8 +63,8 @@ class StdLexical extends Lexical with StdTokens { ) protected def comment: Parser[Any] = ( - rep (chrExcept (EofCh, '*')) ~ '*' ~ '/' ^^ { case _ => ' ' } - | rep (chrExcept (EofCh, '*')) ~ '*' ~ comment ^^ { case _ => ' ' } + rep (chrExcept (EofCh, '*')) ~ '*' ~ '/' ^^ { _ => ' ' } + | rep (chrExcept (EofCh, '*')) ~ '*' ~ comment ^^ { _ => ' ' } ) /** The set of reserved identifiers: these will be returned as `Keyword`s. */ diff --git a/shared/src/main/scala/scala/util/parsing/combinator/token/Tokens.scala b/shared/src/main/scala/scala/util/parsing/combinator/token/Tokens.scala index 0bbecbb4..252a6496 100644 --- a/shared/src/main/scala/scala/util/parsing/combinator/token/Tokens.scala +++ b/shared/src/main/scala/scala/util/parsing/combinator/token/Tokens.scala @@ -22,7 +22,7 @@ package token * @author Adriaan Moors */ trait Tokens { - /** Objects of this type are produced by a lexical parser or ``scanner'', and consumed by a parser. + /** Objects of this type are produced by a lexical parser or ``scanner``, and consumed by a parser. * * @see [[scala.util.parsing.combinator.syntactical.TokenParsers]] */ @@ -43,5 +43,5 @@ trait Tokens { } /** This token is produced by a scanner `Scanner` when scanning failed. */ - def errorToken(msg: String): Token = new ErrorToken(msg) + def errorToken(msg: String): Token = ErrorToken(msg) } diff --git a/shared/src/main/scala/scala/util/parsing/input/OffsetPosition.scala b/shared/src/main/scala/scala/util/parsing/input/OffsetPosition.scala index d3801281..ab0aed22 100644 --- a/shared/src/main/scala/scala/util/parsing/input/OffsetPosition.scala +++ b/shared/src/main/scala/scala/util/parsing/input/OffsetPosition.scala @@ -16,7 +16,7 @@ package util.parsing.input import scala.collection.mutable.ArrayBuffer /** `OffsetPosition` is a standard class for positions - * represented as offsets into a source ``document''. + * represented as offsets into a source ``document``. * * @param source The source document * @param offset The offset indicating the position @@ -53,7 +53,7 @@ case class OffsetPosition(source: CharSequence, offset: Int) extends Position { var lo = 0 var hi = index.length - 1 while (lo + 1 < hi) { - val mid = (hi + lo) / 2 + val mid = lo + ((hi - lo) / 2) if (offset < index(mid)) hi = mid else lo = mid } diff --git a/shared/src/main/scala/scala/util/parsing/input/Position.scala b/shared/src/main/scala/scala/util/parsing/input/Position.scala index 8665c291..9987e1f5 100644 --- a/shared/src/main/scala/scala/util/parsing/input/Position.scala +++ b/shared/src/main/scala/scala/util/parsing/input/Position.scala @@ -39,7 +39,7 @@ trait Position { /** Returns a string representation of the `Position`, of the form `line.column`. */ override def toString = ""+line+"."+column - /** Returns a more ``visual'' representation of this position. + /** Returns a more ``visual`` representation of this position. * More precisely, the resulting string consists of two lines: * 1. the line in the document referred to by this position * 2. a caret indicating the column