From 4eb5f7bb1f65064bf57f4e13ed398edfe72364ac Mon Sep 17 00:00:00 2001 From: Matt Dziuban Date: Fri, 9 May 2025 10:11:29 -0400 Subject: [PATCH] Upgrade to Scala 3.7.1. --- build.sbt | 4 ++-- project/plugins.sbt | 2 +- .../scala/tastyquery/reader/classfiles/ClassfileParser.scala | 1 + .../main/scala/tastyquery/reader/pickles/PickleReader.scala | 4 ++-- .../src/main/scala/tastyquery/reader/pickles/Unpickler.scala | 2 +- .../main/scala/tastyquery/reader/tasties/TastyFormat.scala | 2 +- .../main/scala/tastyquery/reader/tasties/TreeUnpickler.scala | 2 +- .../shared/src/test/scala/tastyquery/PrintersTest.scala | 4 ++-- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/build.sbt b/build.sbt index 348e6bf4..8000c492 100644 --- a/build.sbt +++ b/build.sbt @@ -3,9 +3,9 @@ import sbt.internal.util.ManagedLogger import org.scalajs.jsenv.nodejs.NodeJSEnv -val usedScalaCompiler = "3.6.2" +val usedScalaCompiler = "3.7.1" val usedTastyRelease = usedScalaCompiler -val scala2Version = "2.13.14" +val scala2Version = "2.13.16" val SourceDeps = config("sourcedeps").hide diff --git a/project/plugins.sbt b/project/plugins.sbt index eafde495..80a27029 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.16.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.19.0") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.3.2") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.4") diff --git a/tasty-query/shared/src/main/scala/tastyquery/reader/classfiles/ClassfileParser.scala b/tasty-query/shared/src/main/scala/tastyquery/reader/classfiles/ClassfileParser.scala index d2c127da..54b5b4df 100644 --- a/tasty-query/shared/src/main/scala/tastyquery/reader/classfiles/ClassfileParser.scala +++ b/tasty-query/shared/src/main/scala/tastyquery/reader/classfiles/ClassfileParser.scala @@ -140,6 +140,7 @@ private[reader] object ClassfileParser { val bytesArrArg = scalaSigAnnotation.values.head._2.asInstanceOf[AnnotationValue.Arr] val idxs = bytesArrArg.values.map(_.asInstanceOf[AnnotationValue.Const].valueIdx) pool.sigbytes(idxs) + case _: SimpleName => failNoAnnot() } Unpickler.loadInfo(sigBytes) } diff --git a/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/PickleReader.scala b/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/PickleReader.scala index 155ce69f..0d992ba8 100644 --- a/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/PickleReader.scala +++ b/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/PickleReader.scala @@ -31,9 +31,9 @@ private[pickles] class PickleReader { private var frozenSymbols: Boolean = false /** The map from created local symbols to the address of their info, until it gets read. */ - private val localSymbolInfoRefs = mutable.AnyRefMap.empty[TermOrTypeSymbol, Int] + private val localSymbolInfoRefs = mutable.HashMap.empty[TermOrTypeSymbol, Int] - private val localClassGivenSelfTypeRefs = mutable.AnyRefMap.empty[ClassSymbol, Int] + private val localClassGivenSelfTypeRefs = mutable.HashMap.empty[ClassSymbol, Int] final class Structure(using val myEntries: Entries, val myIndex: Index): def allRegisteredSymbols: Iterator[TermOrTypeSymbol] = diff --git a/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/Unpickler.scala b/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/Unpickler.scala index 08f9fa74..a8f36a9c 100644 --- a/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/Unpickler.scala +++ b/tasty-query/shared/src/main/scala/tastyquery/reader/pickles/Unpickler.scala @@ -42,7 +42,7 @@ private[reader] object Unpickler { } // Read the annotations to give to the symbols we read - val annotationMap = mutable.AnyRefMap.empty[TermOrTypeSymbol, List[Annotation]] + val annotationMap = mutable.HashMap.empty[TermOrTypeSymbol, List[Annotation]] index.loopWithIndices { (offset, i) => if reader.isSymbolAnnotationEntry(i) then pkl.unsafeFork(offset) { diff --git a/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TastyFormat.scala b/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TastyFormat.scala index 2045f346..5c237bfe 100644 --- a/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TastyFormat.scala +++ b/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TastyFormat.scala @@ -296,7 +296,7 @@ private[tasties] object TastyFormat: * compatibility, but remains backwards compatible, with all * preceeding `MinorVersion`. */ - final val MinorVersion: Int = 6 + final val MinorVersion: Int = 7 /** Natural Number. The `ExperimentalVersion` allows for * experimentation with changes to TASTy without committing diff --git a/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TreeUnpickler.scala b/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TreeUnpickler.scala index 89420eaf..3fcca481 100644 --- a/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TreeUnpickler.scala +++ b/tasty-query/shared/src/main/scala/tastyquery/reader/tasties/TreeUnpickler.scala @@ -1806,7 +1806,7 @@ private[tasties] object TreeUnpickler { * * This is used in `readWithin` to resolve top-level class references without a Context. */ - val declaredTopLevelClasses = mutable.AnyRefMap.empty[(PackageSymbol, TypeName), ClassSymbol] + val declaredTopLevelClasses = mutable.HashMap.empty[(PackageSymbol, TypeName), ClassSymbol] def hasSymbolAt(addr: Addr): Boolean = localSymbols.contains(addr) diff --git a/tasty-query/shared/src/test/scala/tastyquery/PrintersTest.scala b/tasty-query/shared/src/test/scala/tastyquery/PrintersTest.scala index 4e0fafaf..0feb13a2 100644 --- a/tasty-query/shared/src/test/scala/tastyquery/PrintersTest.scala +++ b/tasty-query/shared/src/test/scala/tastyquery/PrintersTest.scala @@ -229,7 +229,7 @@ class PrintersTest extends UnrestrictedUnpicklingSuite: testShowBasicMember( MatchTypeClass, typeName("MTWithBind"), - "type MTWithBind[X] <: t = X match { case List[t] => t }" + "type MTWithBind[X] = X match { case List[t] => t }" ) } @@ -315,7 +315,7 @@ class PrintersTest extends UnrestrictedUnpicklingSuite: testShowMultilineMember( MatchTypeClass, typeName("MTWithBind"), - """type MTWithBind[X] <: t = X match { + """type MTWithBind[X] = X match { | case List[t] => t |}""".stripMargin )