diff --git a/.circleci/config.yml b/.circleci/config.yml
index acd8ab56e..177643fa2 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -84,7 +84,7 @@ workflows:
- scala_job:
name: dotty
java_version: jdk8
- scala_version: 0.17.0-RC1
+ scala_version: 0.18.1-bin-20190826-26217ce-NIGHTLY
- scala_job:
name: jdk11_2.12.8
java_version: jdk11
@@ -96,7 +96,7 @@ workflows:
- scala_job:
name: jdk11_dotty
java_version: jdk11
- scala_version: 0.17.0-RC1
+ scala_version: 0.18.1-bin-20190826-26217ce-NIGHTLY
- scalajs_job:
name: sjs0.6_2.12
scala_version: 2.12.8
diff --git a/.travis.yml b/.travis.yml
index 7bd988dae..7af4eb965 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,7 @@ language: scala
scala:
- 2.12.8
- 2.13.0
- - 0.17.0-RC1
+ - 0.18.1-bin-20190826-26217ce-NIGHTLY
env:
global:
@@ -22,9 +22,9 @@ env:
matrix:
exclude:
- - scala: 0.17.0-RC1
+ - scala: 0.18.1-bin-20190826-26217ce-NIGHTLY
env: SCALAJS_VERSION=0.6.28 ADOPTOPENJDK=8
- - scala: 0.17.0-RC1
+ - scala: 0.18.1-bin-20190826-26217ce-NIGHTLY
env: SCALAJS_VERSION=1.0.0-M8 ADOPTOPENJDK=8
before_install:
diff --git a/build.sbt b/build.sbt
index 61e5a2154..f4e79839e 100644
--- a/build.sbt
+++ b/build.sbt
@@ -11,6 +11,7 @@ lazy val configSettings: Seq[Setting[_]] = Seq(
Seq(
CrossVersion.partialVersion(sv) match {
case Some((2, 13)) => file(dir.getPath ++ "-2.13+")
+ case Some((0, _)) => file(dir.getPath ++ "-2.13+")
case _ => file(dir.getPath ++ "-2.13-")
},
CrossVersion.partialVersion(sv) match {
@@ -30,7 +31,7 @@ lazy val xml = crossProject(JSPlatform, JVMPlatform)
.settings(scalaModuleSettings)
.jvmSettings(scalaModuleSettingsJVM)
.jvmSettings(
- crossScalaVersions += "0.17.0-RC1"
+ crossScalaVersions += "0.18.1-bin-20190826-26217ce-NIGHTLY"
)
.settings(
name := "scala-xml",
diff --git a/jvm/src/test/scala/scala/xml/ReuseNodesTest.scala b/jvm/src/test/scala/scala/xml/ReuseNodesTest.scala
index 5d38d74e2..8d00c9bf1 100644
--- a/jvm/src/test/scala/scala/xml/ReuseNodesTest.scala
+++ b/jvm/src/test/scala/scala/xml/ReuseNodesTest.scala
@@ -1,5 +1,7 @@
package scala.xml
+import language.implicitConversions
+
import scala.xml.transform._
import scala.collection.Seq
import org.junit.Assert.assertSame
@@ -9,19 +11,19 @@ import org.junit.experimental.theories.DataPoints
import org.junit.runner.RunWith
/**
* This test verifies that after the transform, the resultant xml node
- * uses as many old nodes as possible.
- *
- * Three transformers class for case -
- * One for original, one for modified, and one proposed which shows
+ * uses as many old nodes as possible.
+ *
+ * Three transformers class for case -
+ * One for original, one for modified, and one proposed which shows
* all are equivalent when it comes to reusing as many nodes as possible
*/
object ReuseNodesTest {
-
+
class OriginalTranformr(rules: RewriteRule*) extends RuleTransformer(rules:_*) {
override def transform(ns: Seq[Node]): Seq[Node] = {
val xs = ns.toStream map transform
val (xs1, xs2) = xs zip ns span { case (x, n) => unchanged(n, x) }
-
+
if (xs2.isEmpty) ns
else (xs1 map (_._2)) ++ xs2.head._1 ++ transform(ns drop (xs1.length + 1))
}
@@ -31,7 +33,7 @@ object ReuseNodesTest {
class ModifiedTranformr(rules: RewriteRule*) extends RuleTransformer(rules:_*) {
override def transform(ns: Seq[Node]): Seq[Node] = {
val changed = ns flatMap transform
-
+
if (changed.length != ns.length || changed.zip(ns).exists(p => p._1 != p._2)) changed
else ns
}
@@ -42,13 +44,13 @@ object ReuseNodesTest {
override def transform(ns: Seq[Node]): Seq[Node] = {
val xs = ns.toStream map transform
val (xs1, xs2) = xs zip ns span { case (x, n) => unchanged(n, x) }
-
+
if (xs2.isEmpty) ns
else (xs1 map (_._2)) ++ xs2.head._1 ++ transform(ns drop (xs1.length + 1))
}
override def transform(n:Node): Seq[Node] = super.transform(n)
}
-
+
def rewriteRule = new RewriteRule {
override def transform(n: Node): NodeSeq = n match {
case n if n.label == "change" => Elem(
@@ -57,7 +59,7 @@ object ReuseNodesTest {
}
}
- @DataPoints
+ @DataPoints
def tranformers() = Array(
new OriginalTranformr(rewriteRule),
new ModifiedTranformr(rewriteRule),
@@ -66,34 +68,34 @@ object ReuseNodesTest {
@RunWith(classOf[Theories])
class ReuseNodesTest {
-
+
@Theory
- def transformReferentialEquality(rt:RuleTransformer) = {
+ def transformReferentialEquality(rt:RuleTransformer) = {
val original =
val tranformed = rt.transform(original)
assertSame(original, tranformed)
}
-
+
@Theory
- def transformReferentialEqualityOnly(rt:RuleTransformer) = {
+ def transformReferentialEqualityOnly(rt:RuleTransformer) = {
val original =
val transformed = rt.transform(original)
recursiveAssert(original,transformed)
}
-
+
def recursiveAssert(original:Seq[Node], transformed:Seq[Node]):Unit = {
- original zip transformed foreach {
- case (x, y) => recursiveAssert(x, y)
+ original zip transformed foreach {
+ case (x, y) => recursiveAssert(x, y)
}
}
-
+
def recursiveAssert(original:Node, transformed:Node):Unit = {
- transformed.label match {
+ transformed.label match {
case "changed" => // do nothing expect this node to be changed
recursiveAssert(original.child,transformed.child)
case _ => {
assertSame(original, transformed)
- // No need to check for children, node being immuatable
+ // No need to check for children, node being immuatable
// children can't be different if parents are referentially equal
}
}
diff --git a/shared/src/main/scala/scala/xml/dtd/Scanner.scala b/shared/src/main/scala/scala/xml/dtd/Scanner.scala
index cb042d5a9..b61b1c169 100644
--- a/shared/src/main/scala/scala/xml/dtd/Scanner.scala
+++ b/shared/src/main/scala/scala/xml/dtd/Scanner.scala
@@ -81,7 +81,11 @@ class Scanner extends Tokens with parsing.TokenTests {
final def name = {
val sb = new StringBuilder()
- do { sb.append(c); next() } while (isNameChar(c))
+ while ({
+ sb.append(c)
+ next()
+ isNameChar(c)
+ }) ()
value = sb.toString()
NAME
}
diff --git a/shared/src/main/scala/scala/xml/dtd/impl/Base.scala b/shared/src/main/scala/scala/xml/dtd/impl/Base.scala
index 3283e2ba0..bc2a3fd40 100644
--- a/shared/src/main/scala/scala/xml/dtd/impl/Base.scala
+++ b/shared/src/main/scala/scala/xml/dtd/impl/Base.scala
@@ -20,7 +20,7 @@ private[dtd] abstract class Base {
type _regexpT <: RegExp
abstract class RegExp {
- val isNullable: Boolean
+ def isNullable: Boolean
}
object Alt {
@@ -62,4 +62,4 @@ private[dtd] abstract class Base {
final val isNullable = r1.isNullable
def r = r1
}
-}
+}
\ No newline at end of file
diff --git a/shared/src/main/scala/scala/xml/dtd/impl/PointedHedgeExp.scala b/shared/src/main/scala/scala/xml/dtd/impl/PointedHedgeExp.scala
index 9c4263ab3..58b21a0e3 100644
--- a/shared/src/main/scala/scala/xml/dtd/impl/PointedHedgeExp.scala
+++ b/shared/src/main/scala/scala/xml/dtd/impl/PointedHedgeExp.scala
@@ -32,4 +32,4 @@ private[dtd] abstract class PointedHedgeExp extends Base {
final val isNullable = false
}
-}
+}
\ No newline at end of file
diff --git a/shared/src/main/scala/scala/xml/dtd/impl/WordExp.scala b/shared/src/main/scala/scala/xml/dtd/impl/WordExp.scala
index 6d132a04a..7cffdcb78 100644
--- a/shared/src/main/scala/scala/xml/dtd/impl/WordExp.scala
+++ b/shared/src/main/scala/scala/xml/dtd/impl/WordExp.scala
@@ -53,4 +53,4 @@ private[dtd] abstract class WordExp extends Base {
final lazy val isNullable = false
var pos = -1
}
-}
+}
\ No newline at end of file
diff --git a/shared/src/main/scala/scala/xml/include/sax/XIncludeFilter.scala b/shared/src/main/scala/scala/xml/include/sax/XIncludeFilter.scala
index 4923cb1da..0eb0653fe 100644
--- a/shared/src/main/scala/scala/xml/include/sax/XIncludeFilter.scala
+++ b/shared/src/main/scala/scala/xml/include/sax/XIncludeFilter.scala
@@ -291,10 +291,11 @@ class XIncludeFilter extends XMLFilterImpl {
val reader = new InputStreamReader(in, encoding)
val c = new Array[Char](1024)
var charsRead: Int = 0 // bogus init value
- do {
+ while ({
charsRead = reader.read(c, 0, 1024)
if (charsRead > 0) this.characters(c, 0, charsRead)
- } while (charsRead != -1)
+ charsRead != -1
+ }) ()
} catch {
case e: UnsupportedEncodingException =>
throw new SAXException("Unsupported encoding: "
diff --git a/shared/src/main/scala/scala/xml/parsing/MarkupParserCommon.scala b/shared/src/main/scala/scala/xml/parsing/MarkupParserCommon.scala
index caf165dfd..0d373041e 100644
--- a/shared/src/main/scala/scala/xml/parsing/MarkupParserCommon.scala
+++ b/shared/src/main/scala/scala/xml/parsing/MarkupParserCommon.scala
@@ -115,8 +115,10 @@ private[scala] trait MarkupParserCommon extends TokenTests {
val buf = new StringBuilder
- do buf append ch_returning_nextch
- while (isNameChar(ch))
+ while ({
+ buf append ch_returning_nextch
+ isNameChar(ch)
+ }) ()
if (buf.last == ':') {
reportSyntaxError("name cannot end in ':'")