diff --git a/.travis.yml b/.travis.yml index 3a279b11..6fac1eca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ addons: scala: - 2.11.12 - 2.12.6 - - 2.13.0-M4 + - 2.13.0-M5 jdk: - openjdk6 - oraclejdk8 @@ -28,7 +28,7 @@ env: - secure: "m0Fw/eH7RXJJoBTfqV6CMd7kaIN2pRPnQPNXJGb546UjqYAlYTkfjvVrWpsgpisRBptI1FEHn24yGbgAHjIes/4un/O62K66I0BffL8PbdeHeNcDjSrTesKEqage2mQfGOiqccVsmkgiKeXNYL8tPZRmPQQ3XZ97mS1SXWlqAJSMW6HfNnvqW14Gdb/snR6I8lQ2o5tRnLerWPnI96pp+xjZca2lD4XDvH2wLJXXLmYY61e23ZYzZMepxBxhGa7js3YTYzCWNrOfBLjFJ5nwRxbjR0WMuz5z5Gdy715WtguKS4Fffd/GJHycLROBU9LCAQDMTxMFvqzFqVFpfq0BuTmmkXFXj+a7dO+ABG0RfoDfoMjn7pHwyHNCZyMMuR1HCjMkbGFwC+Zme2UAYNivtcsuWWeMuypwjyqjfFfNns4FHJ0SXFtC/6+OJkAuUdbEJKReYWKWEsP5SnCH/8PLlc+uUl3tjQkFLc1sOAyx9cTWyBErwuJXhgTrjT9AWvO+fvhcm8z/p5+aaF/U9GIrzPqziX4hGjzc/WC+rsFJSiBDlFQl7br+m8WWs7/wuXqPGXmhf0BNQViDi7fZndDHcY3p3T0An05d/IMKjCUrgLDlJi6VYs9XN7S8ay6MH+XTwIsJGSxtGjfEO4rHGIjtR2GRr8TqdNfnpsI3ucbia1Y=" matrix: - SCALAJS_VERSION= - - SCALAJS_VERSION=0.6.23 + - SCALAJS_VERSION=0.6.25 - SCALAJS_VERSION=1.0.0-M3 matrix: @@ -38,14 +38,14 @@ matrix: scala: 2.12.6 - jdk: openjdk6 - scala: 2.13.0-M4 + scala: 2.13.0-M5 # ? - jdk: oraclejdk8 scala: 2.11.12 - # 2.13.0-M4 is not available in Scala.js 1.0.0-M3 - - scala: 2.13.0-M4 + # 2.13.0-M5 is not available in Scala.js 1.0.0-M3 + - scala: 2.13.0-M5 env: SCALAJS_VERSION=1.0.0-M3 include: @@ -72,8 +72,8 @@ matrix: # | oraclejdk8 | 2.12.6 | jvm | | | # | oraclejdk8 | 2.12.6 | js | 0.6.23 | | # | oraclejdk8 | 2.12.6 | js | 1.0.0-M3 | | -# | oraclejdk8 | 2.13.0-M4 | jvm | | | -# | oraclejdk8 | 2.13.0-M4 | js | 0.6.23 | | +# | oraclejdk8 | 2.13.0-M5 | jvm | | | +# | oraclejdk8 | 2.13.0-M5 | js | 0.6.23 | | # | oraclejdk8 | 2.12.6 | jvm | | true | before_script: ./checkCLA.sh diff --git a/build.sbt b/build.sbt index b76bda0c..91f1f03d 100644 --- a/build.sbt +++ b/build.sbt @@ -31,9 +31,9 @@ lazy val junit = libraryDependencies += "com.novocode" % "junit-interface" % "0. lazy val scala211 = "2.11.12" lazy val scala212 = "2.12.6" -lazy val scalaJs213 = "2.13.0-M4" // Scala.js does no have -pre +lazy val scalaJs213 = "2.13.0-M5" // Scala.js does no have -pre -lazy val scala213 = "2.13.0-M4" +lazy val scala213 = "2.13.0-M5" // lazy val scala213 = "2.13.0-pre-3ae6282" // use the sbt command `latest-213` to fetch the latest version lazy val scala213Settings = Seq( diff --git a/project/plugins.sbt b/project/plugins.sbt index 7cc90878..f8b08aca 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -5,7 +5,7 @@ else // see https://github.com/scala/sbt-scala-module/issues/35 Seq(addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.3")) -val scalaJSVersion = Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("0.6.23") +val scalaJSVersion = Option(System.getenv("SCALAJS_VERSION")).filter(_.nonEmpty).getOrElse("0.6.25") addSbtPlugin("org.scala-js" % "sbt-scalajs" % scalaJSVersion) addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.5.0") diff --git a/scalafix/input/src/main/scala/fix/RoughlySrc213.scala b/scalafix/input/src/main/scala/fix/RoughlySrc213.scala index 4221a09a..7a6f0879 100644 --- a/scalafix/input/src/main/scala/fix/RoughlySrc213.scala +++ b/scalafix/input/src/main/scala/fix/RoughlySrc213.scala @@ -12,7 +12,7 @@ object RoughlySrc213 { s.append(List(4, 5, 6)) 1 #:: 2 #:: 3 #:: Stream.Empty val isEmpty: Stream[_] => Boolean = { - case Stream.Empty => true - case x #:: xs => false + case x #:: xs => false + case _ => true } } diff --git a/scalafix/output213/src/main/scala/fix/RoughlySrc213.scala b/scalafix/output213/src/main/scala/fix/RoughlySrc213.scala index 051ba0b9..898a0f42 100644 --- a/scalafix/output213/src/main/scala/fix/RoughlySrc213.scala +++ b/scalafix/output213/src/main/scala/fix/RoughlySrc213.scala @@ -6,9 +6,9 @@ package fix object RoughlySrc213 { val s = LazyList(1, 2, 3) s.lazyAppendedAll(List(4, 5, 6)) - 1 #:: 2 #:: 3 #:: LazyList.Empty + 1 #:: 2 #:: 3 #:: LazyList.empty val isEmpty: LazyList[_] => Boolean = { - case LazyList.Empty => true - case x #:: xs => false + case x #:: xs => false + case _ => true } } diff --git a/scalafix/rules/src/main/scala/fix/Roughly.scala b/scalafix/rules/src/main/scala/fix/Roughly.scala index acd32460..28a5e3d8 100644 --- a/scalafix/rules/src/main/scala/fix/Roughly.scala +++ b/scalafix/rules/src/main/scala/fix/Roughly.scala @@ -48,6 +48,10 @@ final case class Roughly(index: SemanticdbIndex, config: RoughlyConfig) Symbol("_root_.scala.collection.immutable.Stream.append.") ) + val streamEmpty = SymbolMatcher.exact( + Symbol("_root_.scala.collection.immutable.Stream.Empty.") + ) + def replaceSymbols(ctx: RuleCtx): Patch = { if (config.withLazyList) { ctx.replaceSymbols( @@ -86,6 +90,9 @@ final case class Roughly(index: SemanticdbIndex, config: RoughlyConfig) case streamAppend(t: Name) if withLazyAppendedAll => ctx.replaceTree(t, "lazyAppendedAll") + case streamEmpty(t: Name) if withLazyList => + ctx.replaceTree(t, "empty") + }.asPatch collectFixes + replaceSymbols(ctx)