From 1aad7dd948c2c31b68b32e0edcafd772f9a3a6a7 Mon Sep 17 00:00:00 2001 From: Michel Steuwer Date: Wed, 23 Sep 2020 13:04:26 +0100 Subject: [PATCH] Migrated to Scala 2.13 --- build.sbt | 24 +++++-------------- src/main/scala/FSmooth/Differentiation.scala | 2 +- src/main/scala/FSmooth/TypeInference.scala | 4 ++-- .../HeuristicPanelImplementation.scala | 2 +- .../heuristic_search/Metaheuristic.scala | 6 ++--- .../scala/elevate/test_util/package.scala | 2 -- 6 files changed, 13 insertions(+), 27 deletions(-) diff --git a/build.sbt b/build.sbt index 88854396..c5dadd66 100644 --- a/build.sbt +++ b/build.sbt @@ -1,26 +1,21 @@ -ThisBuild / scalaVersion := "2.12.10" +ThisBuild / scalaVersion := "2.13.3" ThisBuild / organization := "org.elevate-lang" lazy val commonSettings = Seq( javaOptions ++= Seq("-Xss16m"), scalacOptions ++= Seq( + "-Wunused:nowarn", "-Xfatal-warnings", "-Xlint:-unused", - "-Xmax-classfile-name", "100", + "-Ymacro-annotations", "-unchecked", "-deprecation", "-feature", "-language:reflectiveCalls" ), - fork := true, - - resolvers ++= Seq( - Resolver.sonatypeRepo("releases"), - Resolver.sonatypeRepo("snapshots") - ), - addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) + fork := true ) lazy val elevate = (project in file(".")) @@ -35,24 +30,17 @@ lazy val elevate = (project in file(".")) libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value, libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value, libraryDependencies += "org.scala-lang" % "scala-library" % scalaVersion.value, - libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "1.2.0", // JUnit libraryDependencies += "junit" % "junit" % "4.11", // Scalatest - libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0" % "test", - - // Silencer: Scala compiler plugin for warning suppression - libraryDependencies ++= Seq( - compilerPlugin("com.github.ghik" %% "silencer-plugin" % "1.4.3" cross CrossVersion.full), - "com.github.ghik" %% "silencer-lib" % "1.4.3" % Provided cross CrossVersion.full - ) + libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0" % "test" ) lazy val elevateMacros = (project in file("macros")) .settings( - name := "macros", + name := "elevateMacros", version := "1.0", commonSettings, libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value diff --git a/src/main/scala/FSmooth/Differentiation.scala b/src/main/scala/FSmooth/Differentiation.scala index 693c836d..5cf06e43 100644 --- a/src/main/scala/FSmooth/Differentiation.scala +++ b/src/main/scala/FSmooth/Differentiation.scala @@ -76,7 +76,7 @@ object Differentiation { } visit(expr, Set()) - free + free.toSeq } def A0(v: Variable, x: Variable): Expr = { diff --git a/src/main/scala/FSmooth/TypeInference.scala b/src/main/scala/FSmooth/TypeInference.scala index 3a901cf3..060becd6 100644 --- a/src/main/scala/FSmooth/TypeInference.scala +++ b/src/main/scala/FSmooth/TypeInference.scala @@ -126,8 +126,8 @@ object TypeInference { } def compose(other: Substitution): Substitution = { - val substitutedThis = solutions.mapValues(s => other.apply(s)) - Substitution(substitutedThis ++ other.solutions) + val substitutedThis = solutions.view.mapValues(s => other.apply(s)) + Substitution((substitutedThis ++ other.solutions).toMap) } } diff --git a/src/main/scala/elevate/heuristic_search/HeuristicPanelImplementation.scala b/src/main/scala/elevate/heuristic_search/HeuristicPanelImplementation.scala index bad37e5b..03f9e797 100644 --- a/src/main/scala/elevate/heuristic_search/HeuristicPanelImplementation.scala +++ b/src/main/scala/elevate/heuristic_search/HeuristicPanelImplementation.scala @@ -17,7 +17,7 @@ class HeuristicPanelImplementation[P](val runner:Runner[P], val strategies:Set[S solution.strategies.foreach(elem =>{ println("strategy: " + elem) }) - println + println() call += 1 val neighbours = scala.collection.mutable.Set[Solution[P]]() diff --git a/src/main/scala/elevate/heuristic_search/Metaheuristic.scala b/src/main/scala/elevate/heuristic_search/Metaheuristic.scala index a4b895a6..a6b0f053 100644 --- a/src/main/scala/elevate/heuristic_search/Metaheuristic.scala +++ b/src/main/scala/elevate/heuristic_search/Metaheuristic.scala @@ -69,12 +69,12 @@ class Metaheuristic[P](val name:String, best } - def writeValues(path: String, result: (P, Option[Double], Path[P]), name:String) { + def writeValues(path: String, result: (P, Option[Double], Path[P]), name:String): Unit = { // open file for appendix val file = new PrintWriter(new FileOutputStream(new File(path), true)) // create string to write to file - var string = counter + ", " + name + ", " + System.currentTimeMillis().toString + ", " + Integer.toHexString(result._1.hashCode()) + ", " + var string = s"$counter, $name, ${System.currentTimeMillis()}, ${Integer.toHexString(result._1.hashCode())}, " result._2 match{ case Some(value) => string += value.toString + "\n" case _ => string += "-1 \n" @@ -86,7 +86,7 @@ class Metaheuristic[P](val name:String, file.close() } - def writeHeader(path:String) { + def writeHeader(path:String): Unit = { // open file for appendix val file = new PrintWriter(new FileOutputStream(new File(path), true)) diff --git a/src/test/scala/elevate/test_util/package.scala b/src/test/scala/elevate/test_util/package.scala index 001f7356..613445a5 100644 --- a/src/test/scala/elevate/test_util/package.scala +++ b/src/test/scala/elevate/test_util/package.scala @@ -1,10 +1,8 @@ package elevate -import com.github.ghik.silencer.silent import org.scalatest.funsuite.AnyFunSuite import org.scalatest.matchers.should.Matchers package object test_util { - @silent("define classes/objects inside of package objects") abstract class Tests extends AnyFunSuite with Matchers }