diff --git a/.scalafmt.conf b/.scalafmt.conf index 84a1987283f..e04177a15ea 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -1,5 +1,5 @@ version = "3.4.0" -runner.dialect = scala212 +runner.dialect = scala213 project.git = true align.preset = none align.stripMargin = true diff --git a/bin/test.sh b/bin/test.sh index b3ede5524ca..2cb3f068638 100755 --- a/bin/test.sh +++ b/bin/test.sh @@ -9,7 +9,7 @@ touch ~/.bloop/.jvmopts echo "-Xss16m" >> ~/.bloop/.jvmopts echo "-Xmx1G" >> ~/.bloop/.jvmopts curl -Lo coursier https://git.io/coursier-cli && chmod +x coursier -./coursier launch ch.epfl.scala:bloopgun-core_2.12:$(bloop_version) -- about +./coursier launch ch.epfl.scala:bloopgun-core_2.13:$(bloop_version) -- about rm .jvmopts touch .jvmopts diff --git a/build.sbt b/build.sbt index 5706fecb9ec..857285c9833 100644 --- a/build.sbt +++ b/build.sbt @@ -37,14 +37,16 @@ val scala212CompilerOptions = List( logo := Welcome.logo usefulTasks := Welcome.tasks +ThisBuild / scalafixScalaBinaryVersion := scalaBinaryVersion.value + inThisBuild( List( version ~= { dynVer => if (isCI) dynVer else localSnapshotVersion // only for local publishing }, - scalaVersion := V.scala212, - crossScalaVersions := List(V.scala212), + scalaVersion := V.scala213, + crossScalaVersions := List(V.scala213), scalacOptions ++= List( "-target:jvm-1.8", "-Yrangepos" @@ -143,7 +145,7 @@ commands ++= Seq( val publishMtags = V.quickPublishScalaVersions.foldLeft(s) { case (st, v) => runMtagsPublishLocal(st, v, localSnapshotVersion) } - "interfaces/publishLocal" :: s"++${V.scala212} metals/publishLocal" :: publishMtags + "interfaces/publishLocal" :: s"++${V.scala213} metals/publishLocal" :: publishMtags }, Command.command("cross-test-latest-nightly") { s => val max = @@ -174,10 +176,10 @@ lazy val V = new { val ammonite213Version = "2.13.7" val ammonite = "2.5.1" - val bloop = "1.4.12" + val bloop = "1.4.12-48-81973d63" val bloopNightly = bloop val bsp = "2.0.0-M15" - val coursier = "2.0.16" + val coursier = "2.1.0-M5" val coursierInterfaces = "1.0.6" val debugAdapter = "2.0.13" val genyVersion = "0.7.1" @@ -491,7 +493,9 @@ lazy val metals = project "org.scalameta" %% "scalameta" % V.scalameta, "org.scalameta" % "semanticdb-scalac-core" % V.scalameta cross CrossVersion.full, // For starting Ammonite - "io.github.alexarchambault.ammonite" %% "ammonite-runner" % "0.3.2" + "io.github.alexarchambault.ammonite" %% "ammonite-runner" % "0.3.2", + "org.scala-lang.modules" %% "scala-xml" % "2.0.1", + "org.scala-lang.modules" %% "scala-parallel-collections" % "1.0.4" ), buildInfoPackage := "scala.meta.internal.metals", buildInfoKeys := Seq[BuildInfoKey]( @@ -538,6 +542,7 @@ lazy val `sbt-metals` = project "semanticdbVersion" -> V.semanticdb, "supportedScala2Versions" -> V.scala2Versions ), + scalaVersion := V.scala212, scriptedLaunchOpts ++= Seq(s"-Dplugin.version=${version.value}") ) .enablePlugins(BuildInfoPlugin, SbtPlugin) @@ -551,12 +556,9 @@ lazy val input = project libraryDependencies ++= List( // these projects have macro annotations "org.scalameta" %% "scalameta" % V.scalameta, - "io.circe" %% "circe-derivation-annotations" % "0.9.0-M5" + "io.circe" %% "circe-derivation-annotations" % "0.13.0-M5" ), - scalacOptions += "-P:semanticdb:synthetics:on", - addCompilerPlugin( - "org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full - ) + scalacOptions ++= Seq("-P:semanticdb:synthetics:on", "-Ymacro-annotations") ) .disablePlugins(ScalafixPlugin) @@ -747,10 +749,6 @@ lazy val bench = project run / fork := true, publish / skip := true, moduleName := "metals-bench", - libraryDependencies ++= List( - // for measuring memory usage - "org.spire-math" %% "clouseau" % "0.2.2" - ), buildInfoKeys := Seq[BuildInfoKey](scalaVersion), buildInfoPackage := "bench", Jmh / bspEnabled := false diff --git a/metals-docs/src/main/scala/docs/Snapshot.scala b/metals-docs/src/main/scala/docs/Snapshot.scala index b2045bb6cf1..e5767aa2b04 100644 --- a/metals-docs/src/main/scala/docs/Snapshot.scala +++ b/metals-docs/src/main/scala/docs/Snapshot.scala @@ -51,19 +51,23 @@ object Snapshot { // maven-metadata.xml is consistently outdated so we scrape the "Last modified" column // of the HTML page that lists all snapshot releases instead. val doc = Jsoup.connect(url).get - val snapshots: Seq[Snapshot] = doc.select("tr").asScala.flatMap { tr => - val lastModified = - tr.select("td:nth-child(2)").text() - val version = - tr.select("td:nth-child(1)").text().stripSuffix("/") - if (lastModified.nonEmpty && !version.contains("maven-metadata")) { - val date: ZonedDateTime = - ZonedDateTime.parse(lastModified, zdtFormatter) - List(Snapshot(version, date.toLocalDateTime)) - } else { - List() + val snapshots: Seq[Snapshot] = doc + .select("tr") + .asScala + .flatMap { tr => + val lastModified = + tr.select("td:nth-child(2)").text() + val version = + tr.select("td:nth-child(1)").text().stripSuffix("/") + if (lastModified.nonEmpty && !version.contains("maven-metadata")) { + val date: ZonedDateTime = + ZonedDateTime.parse(lastModified, zdtFormatter) + List(Snapshot(version, date.toLocalDateTime)) + } else { + List() + } } - } + .toSeq if (snapshots.isEmpty) { val doc = Jsoup.connect(url + "maven-metadata.xml").get val latest = doc.select("latest").text().trim diff --git a/metals/src/main/scala/scala/meta/internal/builds/Digest.scala b/metals/src/main/scala/scala/meta/internal/builds/Digest.scala index 85f8ebe3b2b..49c4849245f 100644 --- a/metals/src/main/scala/scala/meta/internal/builds/Digest.scala +++ b/metals/src/main/scala/scala/meta/internal/builds/Digest.scala @@ -116,9 +116,9 @@ object Digest { value <- attr.value } digest.update(value.toString().getBytes()) - val chldrenSuccessful: Seq[Boolean] = for { + val chldrenSuccessful: Seq[Boolean] = (for { child <- node.child - } yield digestElement(child) + } yield digestElement(child)).toSeq chldrenSuccessful.forall(p => p) } try { diff --git a/metals/src/main/scala/scala/meta/internal/implementation/ImplementationProvider.scala b/metals/src/main/scala/scala/meta/internal/implementation/ImplementationProvider.scala index 9113f10edc9..f503307192c 100644 --- a/metals/src/main/scala/scala/meta/internal/implementation/ImplementationProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/implementation/ImplementationProvider.scala @@ -5,6 +5,7 @@ import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentLinkedQueue import scala.collection.mutable +import scala.collection.parallel.CollectionConverters._ import scala.util.control.NonFatal import scala.meta.internal.metals.Buffers diff --git a/metals/src/main/scala/scala/meta/internal/metals/BloopServers.scala b/metals/src/main/scala/scala/meta/internal/metals/BloopServers.scala index a2f475761d4..d6c4f64a5b4 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/BloopServers.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/BloopServers.scala @@ -145,7 +145,7 @@ final class BloopServers( override def write(byte: Int): Unit = byte.toChar match { case c => b.append(c) } - def logs = b.lines.toList + def logs = b.result.linesIterator } val launcher = diff --git a/metals/src/main/scala/scala/meta/internal/metals/BuildTargetProvider.scala b/metals/src/main/scala/scala/meta/internal/metals/BuildTargetProvider.scala index 9c473303b0d..df7544ed4a2 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/BuildTargetProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/BuildTargetProvider.scala @@ -28,7 +28,7 @@ final class BuildTargetProvider( ): Future[Unit] = { askForBuildTarget.flatMap(f => f.map(param => displayBuildTargetInfo(workspace, param)) - .getOrElse(Future.successful(Unit)) + .getOrElse(Future.successful(())) ) } diff --git a/metals/src/main/scala/scala/meta/internal/metals/BuildTargets.scala b/metals/src/main/scala/scala/meta/internal/metals/BuildTargets.scala index b0e77ff8e55..808b787868e 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/BuildTargets.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/BuildTargets.scala @@ -260,7 +260,7 @@ final class BuildTargets( info(scalac.getTarget()).foreach { info => info.asScalaBuildTarget.foreach { scalaBuildTarget => val sbtTarget = info.asSbtBuildTarget - val autoImports = sbtTarget.map(_.getAutoImports.asScala) + val autoImports = sbtTarget.map(_.getAutoImports.asScala.toSeq) scalaTargetInfo(scalac.getTarget) = ScalaTarget( info, scalaBuildTarget, @@ -500,7 +500,11 @@ final class BuildTargets( query: BuildTargetIdentifier, roots: List[BuildTargetIdentifier] ): Boolean = { - BuildTargets.isInverseDependency(query, roots, inverseDependencies.get) + BuildTargets.isInverseDependency( + query, + roots, + inverseDependencies.get(_).map(_.toSeq) + ) } def inverseDependencyLeaves( target: BuildTargetIdentifier @@ -515,7 +519,10 @@ final class BuildTargets( private def computeInverseDependencies( target: BuildTargetIdentifier ): BuildTargets.InverseDependencies = { - BuildTargets.inverseDependencies(List(target), inverseDependencies.get) + BuildTargets.inverseDependencies( + List(target), + inverseDependencies.get(_).map(_.toSeq) + ) } def addDependencySource( diff --git a/metals/src/main/scala/scala/meta/internal/metals/Compilations.scala b/metals/src/main/scala/scala/meta/internal/metals/Compilations.scala index ac456a40ad4..677b299e27e 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/Compilations.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/Compilations.scala @@ -142,6 +142,7 @@ final class Compilations( val groupedTargetIds = buildTargets.allBuildTargetIds .groupBy(buildTargets.buildServerOf(_)) + .toSeq Future .traverse(groupedTargetIds) { case (connectionOpt, targetIds) => clean(connectionOpt, targetIds) diff --git a/metals/src/main/scala/scala/meta/internal/metals/Compilers.scala b/metals/src/main/scala/scala/meta/internal/metals/Compilers.scala index c49189182da..83b57ee7e64 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/Compilers.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/Compilers.scala @@ -301,7 +301,7 @@ class Compilers( .complete(offsetParams) .asScala .map(list => - list.getItems.asScala + list.getItems.asScala.toSeq .map( toDebugCompletionItem( _, @@ -725,7 +725,7 @@ class Compilers( ): PresentationCompiler = { newCompiler( mtags, - scalac.getOptions().asScala, + scalac.getOptions().asScala.toSeq, classpath, search, scalac.getTarget.getUri diff --git a/metals/src/main/scala/scala/meta/internal/metals/Diagnostics.scala b/metals/src/main/scala/scala/meta/internal/metals/Diagnostics.scala index dd7333b7299..61d4ce6644c 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/Diagnostics.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/Diagnostics.scala @@ -118,7 +118,7 @@ final class Diagnostics( val path = params.getTextDocument.getUri.toAbsolutePath onPublishDiagnostics( path, - params.getDiagnostics().asScala.map(_.toLSP), + params.getDiagnostics().asScala.map(_.toLSP).toSeq, params.getReset() ) } diff --git a/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala b/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala index 447f0f578f2..d85d601ba6e 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/ForwardingMetalsBuildClient.scala @@ -132,7 +132,7 @@ final class ForwardingMetalsBuildClient( } if (otherChanges.nonEmpty) - onBuildChanged(otherChanges) + onBuildChanged(otherChanges.toSeq) } def onBuildTargetCompileReport(params: b.CompileReport): Unit = {} diff --git a/metals/src/main/scala/scala/meta/internal/metals/MetalsEnrichments.scala b/metals/src/main/scala/scala/meta/internal/metals/MetalsEnrichments.scala index 8ffa5618bc3..928a6715bc0 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/MetalsEnrichments.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/MetalsEnrichments.scala @@ -18,8 +18,8 @@ import java.util.concurrent.TimeUnit import java.util.concurrent.TimeoutException import scala.annotation.tailrec -import scala.collection.convert.DecorateAsJava -import scala.collection.convert.DecorateAsScala +import scala.collection.convert.AsJavaExtensions +import scala.collection.convert.AsScalaExtensions import scala.collection.mutable import scala.compat.java8.FutureConverters import scala.concurrent.Await @@ -70,8 +70,8 @@ import org.eclipse.{lsp4j => l} * remember only one import. */ object MetalsEnrichments - extends DecorateAsJava - with DecorateAsScala + extends AsJavaExtensions + with AsScalaExtensions with MtagsEnrichments { implicit class XtensionBuildTarget(buildTarget: b.BuildTarget) { diff --git a/metals/src/main/scala/scala/meta/internal/metals/MetalsLanguageServer.scala b/metals/src/main/scala/scala/meta/internal/metals/MetalsLanguageServer.scala index c06a2a8364d..b6923e380fb 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/MetalsLanguageServer.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/MetalsLanguageServer.scala @@ -17,6 +17,7 @@ import java.{util => ju} import scala.collection.immutable.Nil import scala.collection.mutable import scala.collection.mutable.ArrayBuffer +import scala.collection.parallel.CollectionConverters._ import scala.collection.parallel.ForkJoinTaskSupport import scala.concurrent.Await import scala.concurrent.ExecutionContextExecutorService @@ -48,6 +49,7 @@ import scala.meta.internal.decorations.SyntheticsDecorationProvider import scala.meta.internal.implementation.ImplementationProvider import scala.meta.internal.implementation.Supermethods import scala.meta.internal.io.FileIO +import scala.meta.internal.metals.BuildInfo import scala.meta.internal.metals.Messages.AmmoniteJvmParametersChange import scala.meta.internal.metals.Messages.IncompatibleBloopVersion import scala.meta.internal.metals.MetalsEnrichments._ @@ -1811,7 +1813,7 @@ class MetalsLanguageServer( ) }.asJavaObject case ServerCommands.StartDebugAdapter() => - val args = params.getArguments.asScala + val args = params.getArguments.asScala.toSeq import DebugProvider.DebugParametersJsonParsers._ val debugSessionParams: Future[b.DebugSessionParams] = args match { case Seq(debugSessionParamsParser.Jsonized(params)) @@ -2190,7 +2192,7 @@ class MetalsLanguageServer( def compileAllOpenFiles: BuildChange => Future[BuildChange] = { case change if !change.isFailed => Future - .sequence[Unit, List]( + .sequence( compilations .cascadeCompileFiles(buffers.open.toSeq) .ignoreValue :: @@ -2306,7 +2308,7 @@ class MetalsLanguageServer( } ) try { - val parSourcesToIndex = sourcesToIndex.par + val parSourcesToIndex = sourcesToIndex.toSeq.par parSourcesToIndex.tasksupport = new ForkJoinTaskSupport(threadPool) parSourcesToIndex.foreach(f => indexSourceFile(f.source, Some(f.sourceItem), f.targets.headOption) @@ -2384,7 +2386,7 @@ class MetalsLanguageServer( ) } } - workspaceSymbols.didChange(source, symbols) + workspaceSymbols.didChange(source, symbols.toSeq) // Since the `symbols` here are toplevel symbols, // we cannot use `symbols` for expiring the cache for all symbols in the source. diff --git a/metals/src/main/scala/scala/meta/internal/metals/WorkspaceSearchVisitor.scala b/metals/src/main/scala/scala/meta/internal/metals/WorkspaceSearchVisitor.scala index ced408f6968..1c09b0baa02 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/WorkspaceSearchVisitor.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/WorkspaceSearchVisitor.scala @@ -71,7 +71,7 @@ class WorkspaceSearchVisitor( ) ) } - result.asScala + result.asScala.toSeq } private val byNameLength = new ju.Comparator[l.SymbolInformation] { def compare(x: l.SymbolInformation, y: l.SymbolInformation): Int = { diff --git a/metals/src/main/scala/scala/meta/internal/metals/ammonite/Ammonite.scala b/metals/src/main/scala/scala/meta/internal/metals/ammonite/Ammonite.scala index ac9a1a4aa7a..e6735a894c4 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/ammonite/Ammonite.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/ammonite/Ammonite.scala @@ -106,7 +106,7 @@ final class Ammonite( } _ <- indexWorkspace() toCompile = buffers.open.toSeq.filter(_.isAmmoniteScript) - _ <- Future.sequence[Unit, List]( + _ <- Future.sequence( compilations .cascadeCompileFiles(toCompile) :: compilers.load(toCompile) :: diff --git a/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImplementAbstractMembers.scala b/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImplementAbstractMembers.scala index 5bda55c1614..6a9414ef2e8 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImplementAbstractMembers.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImplementAbstractMembers.scala @@ -22,6 +22,7 @@ class ImplementAbstractMembers(compilers: Compilers) extends CodeAction { .getContext() .getDiagnostics() .asScala + .toSeq .collect { case d @ ScalacDiagnostic.ObjectCreationImpossible(_) if params.getRange().overlapsWith(d.getRange()) => diff --git a/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImportMissingSymbol.scala b/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImportMissingSymbol.scala index 2a551149e46..cfb1c447470 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImportMissingSymbol.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/codeactions/ImportMissingSymbol.scala @@ -56,7 +56,7 @@ class ImportMissingSymbol(compilers: Compilers) extends CodeAction { codeAction.setEdit(edit) codeAction - } + }.toSeq } } @@ -106,7 +106,7 @@ class ImportMissingSymbol(compilers: Compilers) extends CodeAction { val mainAction = actions.head val allDiagnostics = actions.flatMap(_.getDiagnostics().asScala).asJava - val edits = joinActionEdits(actions) + val edits = joinActionEdits(actions.toSeq) mainAction.setDiagnostics(allDiagnostics) mainAction .setEdit(new l.WorkspaceEdit(Map(uri -> edits.asJava).asJava)) diff --git a/metals/src/main/scala/scala/meta/internal/metals/debug/BuildTargetClasses.scala b/metals/src/main/scala/scala/meta/internal/metals/debug/BuildTargetClasses.scala index 8c508e16bb4..636ecab93e0 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/debug/BuildTargetClasses.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/debug/BuildTargetClasses.scala @@ -58,7 +58,7 @@ final class BuildTargetClasses( ): Future[Unit] = { val distinctTargets = targets.distinct Future - .traverse(distinctTargets.groupBy(buildTargets.buildServerOf)) { + .traverse(distinctTargets.groupBy(buildTargets.buildServerOf).toSeq) { case (None, _) => Future.successful(()) case (Some(connection), targets0) => diff --git a/metals/src/main/scala/scala/meta/internal/metals/debug/DebugProvider.scala b/metals/src/main/scala/scala/meta/internal/metals/debug/DebugProvider.scala index b672400313b..83088cf55cf 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/debug/DebugProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/debug/DebugProvider.scala @@ -126,7 +126,7 @@ class DebugProvider( // long timeout, since server might take a while to compile the project val connectToServer = () => { - val targets = parameters.getTargets().asScala + val targets = parameters.getTargets().asScala.toSeq compilations.compilationFinished(targets).flatMap { _ => buildServer @@ -145,7 +145,7 @@ class DebugProvider( } val proxyFactory = { () => - val targets = parameters.getTargets.asScala + val targets = parameters.getTargets.asScala.toSeq .map(_.getUri) .map(new BuildTargetIdentifier(_)) val debugAdapter = @@ -499,7 +499,7 @@ class DebugProvider( new b.DebugSessionParams( singletonList(target.getId()), b.DebugSessionParamsDataKind.SCALA_ATTACH_REMOTE, - Unit.toJson + ().toJson ) ) case None => diff --git a/metals/src/main/scala/scala/meta/internal/metals/findfiles/FindTextInDependencyJars.scala b/metals/src/main/scala/scala/meta/internal/metals/findfiles/FindTextInDependencyJars.scala index 7fec82f8fb5..f441fa35448 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/findfiles/FindTextInDependencyJars.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/findfiles/FindTextInDependencyJars.scala @@ -82,8 +82,8 @@ class FindTextInDependencyJars( allLocations.toList } - .flatten .toList + .flatten } } diff --git a/metals/src/main/scala/scala/meta/internal/metals/testProvider/TestSuitesProvider.scala b/metals/src/main/scala/scala/meta/internal/metals/testProvider/TestSuitesProvider.scala index 0f7906bc92d..1dbd998c10e 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/testProvider/TestSuitesProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/testProvider/TestSuitesProvider.scala @@ -215,9 +215,9 @@ final class TestSuitesProvider( getTestCasesForSuites(entry.path, List(entry.suiteInfo), None) else Seq.empty } - } + }.toMap - val addedSuites = addedEntries.mapValues(_.map(_.testClass)) + val addedSuites = addedEntries.mapValues(_.map(_.testClass)).toMap val buildTargetUpdates = getBuildTargetUpdates(deletedSuites, addedSuites, addedTestCases) diff --git a/metals/src/main/scala/scala/meta/internal/parsing/DocumentSymbolProvider.scala b/metals/src/main/scala/scala/meta/internal/parsing/DocumentSymbolProvider.scala index 9a7e69bd72a..657d5e7c950 100644 --- a/metals/src/main/scala/scala/meta/internal/parsing/DocumentSymbolProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/parsing/DocumentSymbolProvider.scala @@ -38,7 +38,7 @@ class DocumentSymbolProvider(trees: Trees) { } new SymbolTraverser().symbols(tree).asScala } - val symbols = result.getOrElse(Nil) + val symbols = result.getOrElse(Nil).toSeq if (supportsHierarchicalDocumentSymbols.get()) { Left(symbols.asJava) diff --git a/metals/src/main/scala/scala/meta/internal/remotels/RemoteLanguageServer.scala b/metals/src/main/scala/scala/meta/internal/remotels/RemoteLanguageServer.scala index 7d831c035c7..1712f6564a5 100644 --- a/metals/src/main/scala/scala/meta/internal/remotels/RemoteLanguageServer.scala +++ b/metals/src/main/scala/scala/meta/internal/remotels/RemoteLanguageServer.scala @@ -57,7 +57,7 @@ class RemoteLanguageServer( params.toJsonObject, "textDocument/references" ) - } yield ReferencesResult(Symbols.None, locations.asScala) + } yield ReferencesResult(Symbols.None, locations.asScala.toSeq) } def definition( diff --git a/metals/src/main/scala/scala/meta/internal/rename/RenameProvider.scala b/metals/src/main/scala/scala/meta/internal/rename/RenameProvider.scala index 9980f1cbdd2..c5d36747085 100644 --- a/metals/src/main/scala/scala/meta/internal/rename/RenameProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/rename/RenameProvider.scala @@ -2,6 +2,7 @@ package scala.meta.internal.rename import java.util.concurrent.ConcurrentLinkedQueue +import scala.collection.parallel.CollectionConverters._ import scala.concurrent.ExecutionContext import scala.concurrent.Future diff --git a/metals/src/main/scala/scala/meta/internal/tvp/ClasspathSymbols.scala b/metals/src/main/scala/scala/meta/internal/tvp/ClasspathSymbols.scala index 56b7372536e..e99ba4c7c56 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/ClasspathSymbols.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/ClasspathSymbols.scala @@ -182,7 +182,7 @@ class ClasspathSymbols(isStatisticsEnabled: Boolean = false) { } } ) - result + result.toSeq } private def isClassfile(path: Path): Boolean = { diff --git a/metals/src/main/scala/scala/meta/internal/tvp/ClasspathTreeView.scala b/metals/src/main/scala/scala/meta/internal/tvp/ClasspathTreeView.scala index f0c44741da7..525058c431e 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/ClasspathTreeView.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/ClasspathTreeView.scala @@ -52,6 +52,7 @@ class ClasspathTreeView[Value, Key]( .filter(i => node.isDescendent(i.symbol)) .flatMap(i => i :: i.parents) .distinctBy(_.symbol) + .toSeq val directChildren = transitiveChildren.filter { s => s.symbol.owner == node.symbol && { diff --git a/metals/src/main/scala/scala/meta/internal/tvp/ScalacpCopyPaste.scala b/metals/src/main/scala/scala/meta/internal/tvp/ScalacpCopyPaste.scala index 589e27a2bf5..0a0d24c73f8 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/ScalacpCopyPaste.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/ScalacpCopyPaste.scala @@ -8,7 +8,6 @@ import scala.tools.scalap.scalax.rules.scalasig._ import scala.meta.internal.scalacp._ import scala.meta.internal.semanticdb.Scala._ -import scala.meta.internal.semanticdb.Scala._ import scala.meta.internal.semanticdb.Scala.{Descriptor => d} import scala.meta.internal.semanticdb.Scala.{DisplayNames => dn} import scala.meta.internal.semanticdb.Scala.{Names => n} diff --git a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewSymbolInformation.scala b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewSymbolInformation.scala index 457d8f3d39b..d2fb63512eb 100644 --- a/metals/src/main/scala/scala/meta/internal/tvp/TreeViewSymbolInformation.scala +++ b/metals/src/main/scala/scala/meta/internal/tvp/TreeViewSymbolInformation.scala @@ -4,7 +4,6 @@ import scala.meta.internal.mtags.MtagsEnrichments._ import scala.meta.internal.semanticdb.Scala._ import scala.meta.internal.semanticdb.SymbolInformation import scala.meta.internal.semanticdb.SymbolInformation.{Kind => k} -import scala.meta.internal.semanticdb._ case class TreeViewSymbolInformation( symbol: String, diff --git a/metals/src/main/scala/scala/meta/internal/worksheets/WorksheetProvider.scala b/metals/src/main/scala/scala/meta/internal/worksheets/WorksheetProvider.scala index c78da59332c..96b3f848915 100644 --- a/metals/src/main/scala/scala/meta/internal/worksheets/WorksheetProvider.scala +++ b/metals/src/main/scala/scala/meta/internal/worksheets/WorksheetProvider.scala @@ -277,7 +277,11 @@ class WorksheetProvider( result, () => { try runEvaluation() - catch onError + catch { + case e: Throwable => + onError(e) + () + } } ) result.asScala.recover(onError) @@ -373,7 +377,7 @@ class WorksheetProvider( if (newDigest != previousDigest) { worksheetsDigests.put(path, newDigest) val sourceDeps = fetchDependencySources( - evaluatedWorksheet.dependencies().asScala + evaluatedWorksheet.dependencies().asScala.toSeq ) compilers.restartWorksheetPresentationCompiler( path, diff --git a/metals/src/main/scala/scala/meta/internal/worksheets/WorkspaceEditWorksheetPublisher.scala b/metals/src/main/scala/scala/meta/internal/worksheets/WorkspaceEditWorksheetPublisher.scala index fbff1a35213..82fedcd63ef 100644 --- a/metals/src/main/scala/scala/meta/internal/worksheets/WorkspaceEditWorksheetPublisher.scala +++ b/metals/src/main/scala/scala/meta/internal/worksheets/WorkspaceEditWorksheetPublisher.scala @@ -76,7 +76,7 @@ class WorkspaceEditWorksheetPublisher(buffers: Buffers, trees: Trees) ed.details ) ) - val hoverMap = HoverMap(updateWithEdits(source.text, edits), hovers) + val hoverMap = HoverMap(updateWithEdits(source.text, edits), hovers.toSeq) RenderResult(edits, hoverMap) } diff --git a/mtags/src/main/scala-2/scala/meta/internal/pc/ScalaCompilerAccess.scala b/mtags/src/main/scala-2/scala/meta/internal/pc/ScalaCompilerAccess.scala index b7622c5a8e3..776063d0600 100644 --- a/mtags/src/main/scala-2/scala/meta/internal/pc/ScalaCompilerAccess.scala +++ b/mtags/src/main/scala-2/scala/meta/internal/pc/ScalaCompilerAccess.scala @@ -50,7 +50,7 @@ class ScalaCompilerAccess( newCompiler ) { - def newReporter() = new StoreReporter + def newReporter = new StoreReporter protected def handleSharedCompilerException( t: Throwable diff --git a/tests/input/src/main/scala/example/Definitions.scala b/tests/input/src/main/scala/example/Definitions.scala index efacaf726d2..bea2b478332 100644 --- a/tests/input/src/main/scala/example/Definitions.scala +++ b/tests/input/src/main/scala/example/Definitions.scala @@ -1,5 +1,8 @@ package example +import io.circe.derivation.deriveDecoder +import io.circe.derivation.deriveEncoder + class Definitions { Predef.any2stringadd(1) List[ @@ -8,8 +11,8 @@ class Definitions { java.lang.Double ] ]( - xs = null + elems = null ) - println(MacroAnnotation.decodeMacroAnnotation) - println(MacroAnnotation.encodeMacroAnnotation) + println(deriveDecoder[MacroAnnotation]) + println(deriveEncoder[MacroAnnotation]) } diff --git a/tests/input/src/main/scala/example/NamedArguments.scala b/tests/input/src/main/scala/example/NamedArguments.scala index d168038140f..ca0da1d6fd9 100644 --- a/tests/input/src/main/scala/example/NamedArguments.scala +++ b/tests/input/src/main/scala/example/NamedArguments.scala @@ -7,7 +7,7 @@ case class User( } ) object NamedArguments { - val susan = "Susan" + final val susan = "Susan" val user1 = User .apply( @@ -28,7 +28,7 @@ object NamedArguments { // vararg List( - xs = 2 + elems = 2 ) } diff --git a/tests/slow/src/test/scala/tests/feature/ClasspathSymbolRegressionSuite.scala b/tests/slow/src/test/scala/tests/feature/ClasspathSymbolRegressionSuite.scala index 5e93df11a9a..4aa504a8def 100644 --- a/tests/slow/src/test/scala/tests/feature/ClasspathSymbolRegressionSuite.scala +++ b/tests/slow/src/test/scala/tests/feature/ClasspathSymbolRegressionSuite.scala @@ -112,15 +112,15 @@ abstract class ClasspathSymbolRegressionSuite extends BaseWorkspaceSymbolSuite { |com.google.common.io.MoreFiles Class |com.twitter.io.Files Object |java.nio.file.Files Class - |javax.swing.plaf.basic.BasicDirectoryModel#FilesLoader Class + |javax.swing.plaf.basic.BasicDirectoryModel#LoadFilesThread Class |org.apache.hadoop.mapred.MROutputFiles Class |org.apache.hadoop.mapred.YarnOutputFiles Class |org.apache.ivy.ant.IvyCacheFileset Class |org.apache.parquet.Files Class |org.apache.spark.SparkFiles Object - |org.apache.spark.sql.execution.command.ListFilesCommand Class |org.apache.spark.sql.execution.streaming.FileStreamSource.SeenFilesMap Class |org.glassfish.jersey.server.internal.scanning.FilesScanner Class + |org.jline.builtins.Completers#FilesCompleter Class |scala.meta.internal.io.ListFiles Class |""".stripMargin ) @@ -136,9 +136,9 @@ abstract class ClasspathSymbolRegressionSuite extends BaseWorkspaceSymbolSuite { |org.apache.spark.sql.LowPrioritySQLImplicits Interface |org.apache.spark.sql.SQLImplicits Class |org.json4s.Implicits Interface - |scala.collection.convert.ToJavaImplicits Interface - |scala.collection.convert.ToScalaImplicits Interface |scala.concurrent.ExecutionContext.Implicits Object + |scala.math.Equiv.ExtraImplicits Interface + |scala.math.Equiv.Implicits Object |scala.math.Fractional.ExtraImplicits Interface |scala.math.Fractional.Implicits Object |scala.math.Integral.ExtraImplicits Interface @@ -163,11 +163,6 @@ abstract class ClasspathSymbolRegressionSuite extends BaseWorkspaceSymbolSuite { |scala.collection.concurrent.TrieMap Object |scala.collection.concurrent.TrieMapIterator Class |scala.collection.concurrent.TrieMapSerializationEnd Object - |scala.collection.immutable.HashMap.HashTrieMap Class - |scala.collection.parallel.mutable.ParTrieMap Class - |scala.collection.parallel.mutable.ParTrieMap Object - |scala.collection.parallel.mutable.ParTrieMapCombiner Interface - |scala.collection.parallel.mutable.ParTrieMapSplitter Class |""".stripMargin ) diff --git a/tests/slow/src/test/scala/tests/feature/Scala3CodeActionLspSuite.scala b/tests/slow/src/test/scala/tests/feature/Scala3CodeActionLspSuite.scala index 75199fd929a..815cf8fd451 100644 --- a/tests/slow/src/test/scala/tests/feature/Scala3CodeActionLspSuite.scala +++ b/tests/slow/src/test/scala/tests/feature/Scala3CodeActionLspSuite.scala @@ -5,7 +5,6 @@ import scala.meta.internal.metals.codeactions.ExtractRenameMember import scala.meta.internal.metals.codeactions.ExtractValueCodeAction import scala.meta.internal.metals.codeactions.InsertInferredType import scala.meta.internal.metals.codeactions.SourceOrganizeImports -import scala.meta.internal.metals.codeactions.SourceOrganizeImports.kind import scala.meta.internal.mtags.MtagsEnrichments.XtensionAbsolutePath import munit.Location diff --git a/tests/slow/src/test/scala/tests/sbt/SbtBloopLspSuite.scala b/tests/slow/src/test/scala/tests/sbt/SbtBloopLspSuite.scala index 9f5730b0ee8..f9ce35b7295 100644 --- a/tests/slow/src/test/scala/tests/sbt/SbtBloopLspSuite.scala +++ b/tests/slow/src/test/scala/tests/sbt/SbtBloopLspSuite.scala @@ -532,7 +532,7 @@ class SbtBloopLspSuite |import sbt._ |import Keys._ |object Deps { - | val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" + | val scalatest = "org.scalatest" %% "scalatest" % "3.2.4" |} """.stripMargin ) @@ -542,7 +542,7 @@ class SbtBloopLspSuite |val scalatest: ModuleID |``` |```range - |val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" + |val scalatest = "org.scalatest" %% "scalatest" % "3.2.4" |``` |""".stripMargin _ = assertNoDiff(hoverRes, expectedHoverRes) diff --git a/tests/unit/src/main/scala/bill/Bill.scala b/tests/unit/src/main/scala/bill/Bill.scala index 86e7313db0c..3f58378273e 100644 --- a/tests/unit/src/main/scala/bill/Bill.scala +++ b/tests/unit/src/main/scala/bill/Bill.scala @@ -388,6 +388,7 @@ object Bill { ClasspathLoader .getURLs(myClassLoader) .map(url => Paths.get(url.toURI)) + .toSeq def cwd: Path = Paths.get(System.getProperty("user.dir")) diff --git a/tests/unit/src/main/scala/scala/meta/internal/metals/WorkspaceSources.scala b/tests/unit/src/main/scala/scala/meta/internal/metals/WorkspaceSources.scala index d0aec51ceab..27879a9ef4d 100644 --- a/tests/unit/src/main/scala/scala/meta/internal/metals/WorkspaceSources.scala +++ b/tests/unit/src/main/scala/scala/meta/internal/metals/WorkspaceSources.scala @@ -1,11 +1,5 @@ package scala.meta.internal.metals -import java.nio.file.FileVisitResult -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.SimpleFileVisitor -import java.nio.file.attribute.BasicFileAttributes - import scala.sys.process._ import scala.util.control.NonFatal @@ -13,61 +7,32 @@ import scala.meta.internal.io.FileIO import scala.meta.internal.mtags.MtagsEnrichments._ import scala.meta.io.AbsolutePath +import geny.Generator + /** * Finds sources in the workspace when there is no available build tool. */ final class WorkspaceSources(workspace: AbsolutePath) { - def all: Traversable[AbsolutePath] = { + def all: Generator[AbsolutePath] = { if (workspace.extension == "zip" && workspace.isFile) { FileIO.withJarFileSystem(workspace, create = false) { root => - walkFileTree(root) + root.listRecursive } } else if (!workspace.resolve(".git").isDirectory) { - walkFileTree(workspace) + workspace.listRecursive } else { try { gitLsFiles() } catch { case NonFatal(_) => - walkFileTree(workspace) + workspace.listRecursive } } } - def walkFileTree(root: AbsolutePath): Traversable[AbsolutePath] = - new Traversable[AbsolutePath] { - override def foreach[U](f: AbsolutePath => U): Unit = { - Files.walkFileTree( - root.toNIO, - new SimpleFileVisitor[Path] { - override def visitFile( - file: Path, - attrs: BasicFileAttributes - ): FileVisitResult = { - f(AbsolutePath(file)) - FileVisitResult.CONTINUE - } - override def preVisitDirectory( - dir: Path, - attrs: BasicFileAttributes - ): FileVisitResult = { - val filename = dir.getFileName - if (filename != null && filename.toString.startsWith(".")) { - FileVisitResult.SKIP_SUBTREE - } else { - FileVisitResult.CONTINUE - } - } - } - ) - } - } - def gitLsFiles(): Traversable[AbsolutePath] = { + + private def gitLsFiles(): Generator[AbsolutePath] = { val text = Process(List("git", "ls-files"), cwd = workspace.toFile).!! if (text.isEmpty) throw new IllegalArgumentException - new Traversable[AbsolutePath] { - override def foreach[U](f: AbsolutePath => U): Unit = { - text.linesIterator.map(AbsolutePath(_)(workspace)).foreach(f) - } - } + Generator.from(text.linesIterator.map(AbsolutePath(_)(workspace))) } } diff --git a/tests/unit/src/main/scala/tests/BaseAnalyzeStacktraceSuite.scala b/tests/unit/src/main/scala/tests/BaseAnalyzeStacktraceSuite.scala index a0b475bd465..f705d9508c4 100644 --- a/tests/unit/src/main/scala/tests/BaseAnalyzeStacktraceSuite.scala +++ b/tests/unit/src/main/scala/tests/BaseAnalyzeStacktraceSuite.scala @@ -51,7 +51,7 @@ abstract class BaseAnalyzeStacktraceSuite(name: String) lenses = server.analyzeStacktrace(stacktrace) output = lenses.map { cl => - val line = cl.getCommand().getArguments.asScala match { + val line = cl.getCommand().getArguments.asScala.toSeq match { case Seq(locationParser.Jsonized(location)) => location.getRange().getStart().getLine() } diff --git a/tests/unit/src/main/scala/tests/BaseRangesSuite.scala b/tests/unit/src/main/scala/tests/BaseRangesSuite.scala index 920a6ac9003..29f82186c69 100644 --- a/tests/unit/src/main/scala/tests/BaseRangesSuite.scala +++ b/tests/unit/src/main/scala/tests/BaseRangesSuite.scala @@ -8,7 +8,6 @@ import munit.TestOptions abstract class BaseRangesSuite(name: String) extends BaseLspSuite(name) { protected def libraryDependencies: List[String] = Nil - protected def compilerPlugins: List[String] = Nil def assertCheck( filename: String, @@ -52,7 +51,6 @@ abstract class BaseRangesSuite(name: String) extends BaseLspSuite(name) { |{"a": | { | "scalaVersion" : "$actualScalaVersion", - | "compilerPlugins": ${toJsonArray(compilerPlugins)}, | "libraryDependencies": ${toJsonArray(libraryDependencies)} | } |} diff --git a/tests/unit/src/main/scala/tests/Library.scala b/tests/unit/src/main/scala/tests/Library.scala index f7bd89ddeda..b812c20a7f4 100644 --- a/tests/unit/src/main/scala/tests/Library.scala +++ b/tests/unit/src/main/scala/tests/Library.scala @@ -97,5 +97,6 @@ object Library { ) .fetch() .asScala + .toSeq .map(f => AbsolutePath(f.toPath)) } diff --git a/tests/unit/src/main/scala/tests/MetalsTestEnrichments.scala b/tests/unit/src/main/scala/tests/MetalsTestEnrichments.scala index b35f328477b..121428068da 100644 --- a/tests/unit/src/main/scala/tests/MetalsTestEnrichments.scala +++ b/tests/unit/src/main/scala/tests/MetalsTestEnrichments.scala @@ -65,7 +65,7 @@ object MetalsTestEnrichments { symbols += defn.toCached } } - wsp.didChange(source, symbols) + wsp.didChange(source, symbols.toSeq) } } def indexLibraries(libraries: Seq[Library]): Unit = { diff --git a/tests/unit/src/main/scala/tests/QuickBuild.scala b/tests/unit/src/main/scala/tests/QuickBuild.scala index e08e89e0d60..54488cc7c5d 100644 --- a/tests/unit/src/main/scala/tests/QuickBuild.scala +++ b/tests/unit/src/main/scala/tests/QuickBuild.scala @@ -329,7 +329,7 @@ object QuickBuild { Fetch .create() - .withRepositories(repositories: _*) + .withRepositories(repositories.toSeq: _*) .withDependencies(dependencies: _*) .withClassifiers(classifiers.asJava) .withMainArtifacts() diff --git a/tests/unit/src/main/scala/tests/TestingClient.scala b/tests/unit/src/main/scala/tests/TestingClient.scala index 38ffa0d0b33..1b60b7ac225 100644 --- a/tests/unit/src/main/scala/tests/TestingClient.scala +++ b/tests/unit/src/main/scala/tests/TestingClient.scala @@ -261,7 +261,7 @@ class TestingClient(workspace: AbsolutePath, val buffers: Buffers) override def telemetryEvent(`object`: Any): Unit = () override def publishDiagnostics(params: PublishDiagnosticsParams): Unit = { val path = params.getUri.toAbsolutePath - diagnostics(path) = params.getDiagnostics.asScala + diagnostics(path) = params.getDiagnostics.asScala.toSeq diagnosticsCount .getOrElseUpdate(path, new AtomicInteger()) .incrementAndGet() @@ -308,13 +308,13 @@ class TestingClient(workspace: AbsolutePath, val buffers: Buffers) } else if (CheckDoctor.isDoctor(params)) { getDoctorInformation } else if (BspSwitch.isSelectBspServer(params)) { - selectBspServer(params.getActions.asScala) + selectBspServer(params.getActions.asScala.toSeq) } else if (isSameMessageFromList(ChooseBuildTool.params)) { - chooseBuildTool(params.getActions.asScala) + chooseBuildTool(params.getActions.asScala.toSeq) } else if (MissingScalafmtConf.isCreateScalafmtConf(params)) { createScalaFmtConf } else if (params.getMessage() == MainClass.message) { - chooseMainClass(params.getActions.asScala) + chooseMainClass(params.getActions.asScala.toSeq) } else { throw new IllegalArgumentException(params.toString) } @@ -474,7 +474,7 @@ class TestingClient(workspace: AbsolutePath, val buffers: Buffers) if (command != null) { server.executeCommandUnsafe( command.getCommand(), - command.getArguments().asScala + command.getArguments().asScala.toSeq ) } else Future.unit diff --git a/tests/unit/src/main/scala/tests/TestingServer.scala b/tests/unit/src/main/scala/tests/TestingServer.scala index 1023b7df07d..c0192817a60 100644 --- a/tests/unit/src/main/scala/tests/TestingServer.scala +++ b/tests/unit/src/main/scala/tests/TestingServer.scala @@ -224,6 +224,7 @@ final class TestingServer( dependencySources .getItems() .asScala + .toSeq .flatMap(_.getSources().asScala) } case None => @@ -1446,7 +1447,7 @@ final class TestingServer( schema = s.Schema.SEMANTICDB4, uri = input.path, text = input.text, - occurrences = occurrences + occurrences = occurrences.toSeq ) } @@ -1472,7 +1473,8 @@ final class TestingServer( for { documentSymbols <- server.documentSymbol(params).asScala } yield { - val symbols = documentSymbols.getLeft.asScala.toSymbolInformation(uri) + val symbols = + documentSymbols.getLeft.asScala.toSeq.toSymbolInformation(uri) val textDocument = s.TextDocument( schema = s.Schema.SEMANTICDB4, language = s.Language.SCALA, diff --git a/tests/unit/src/main/scala/tests/debug/BaseStepDapSuite.scala b/tests/unit/src/main/scala/tests/debug/BaseStepDapSuite.scala index 742647939c2..d4788f7390d 100644 --- a/tests/unit/src/main/scala/tests/debug/BaseStepDapSuite.scala +++ b/tests/unit/src/main/scala/tests/debug/BaseStepDapSuite.scala @@ -111,7 +111,7 @@ abstract class BaseStepDapSuite( s"$scalaLibDependency${if (useVirtualDocuments) "!" else ""}/scala/Predef.scala" steps .at("a/src/main/scala/Main.scala", line = 5)(StepIn) - .atDependency(jarDep, line = 404)(Continue) + .atDependency(jarDep, line = 427)(Continue) } ) diff --git a/tests/unit/src/test/resources/definition/example/Definitions.scala b/tests/unit/src/test/resources/definition/example/Definitions.scala index a4e33aabb6e..9017a94c843 100644 --- a/tests/unit/src/test/resources/definition/example/Definitions.scala +++ b/tests/unit/src/test/resources/definition/example/Definitions.scala @@ -1,15 +1,18 @@ package example +import io.circe.derivation.deriveDecoder/*package.scala fallback to io.circe.derivation.package.*/ +import io.circe.derivation.deriveEncoder/*package.scala fallback to io.circe.derivation.package.*/ + class Definitions/*Definitions.scala*/ { Predef/*Predef.scala*/.any2stringadd/*Predef.scala*/(1) - List/*List.scala*/[ + List/*package.scala*/[ java.util.Map/*Map.java*/.Entry/*Map.java*/[ java.lang.Integer/*Integer.java*/, java.lang.Double/*Double.java*/ ] ]( - xs/*List.scala*/ = null + elems/*Factory.scala*/ = null ) - println/*Predef.scala*/(MacroAnnotation/*MacroAnnotation.scala*/.decodeMacroAnnotation/*MacroAnnotation.scala fallback to example.MacroAnnotation#*/) - println/*Predef.scala*/(MacroAnnotation/*MacroAnnotation.scala*/.encodeMacroAnnotation/*MacroAnnotation.scala fallback to example.MacroAnnotation#*/) + println/*Predef.scala*/(deriveDecoder/*package.scala fallback to io.circe.derivation.package.*/[MacroAnnotation/*MacroAnnotation.scala*/]) + println/*Predef.scala*/(deriveEncoder/*package.scala fallback to io.circe.derivation.package.*/[MacroAnnotation/*MacroAnnotation.scala*/]) } diff --git a/tests/unit/src/test/resources/definition/example/EtaExpansion.scala b/tests/unit/src/test/resources/definition/example/EtaExpansion.scala index c2691786f8a..8a2264a5fab 100644 --- a/tests/unit/src/test/resources/definition/example/EtaExpansion.scala +++ b/tests/unit/src/test/resources/definition/example/EtaExpansion.scala @@ -1,5 +1,5 @@ package example class EtaExpansion/*EtaExpansion.scala*/ { - List/*List.scala*/(1).map/*List.scala*/(identity/*Predef.scala*/) + List/*package.scala*/(1).map/*List.scala*/(identity/*Predef.scala*/) } diff --git a/tests/unit/src/test/resources/definition/example/ForComprehensions.scala b/tests/unit/src/test/resources/definition/example/ForComprehensions.scala index 9e078e10bbf..d0e5f4a01ba 100644 --- a/tests/unit/src/test/resources/definition/example/ForComprehensions.scala +++ b/tests/unit/src/test/resources/definition/example/ForComprehensions.scala @@ -2,8 +2,8 @@ package example class ForComprehensions/*ForComprehensions.scala*/ { for { - a/*ForComprehensions.semanticdb*/ <- List/*List.scala*/(1) - b/*ForComprehensions.semanticdb*/ <- List/*List.scala*/(a/*ForComprehensions.semanticdb*/) + a/*ForComprehensions.semanticdb*/ <- List/*package.scala*/(1) + b/*ForComprehensions.semanticdb*/ <- List/*package.scala*/(a/*ForComprehensions.semanticdb*/) if ( a/*ForComprehensions.semanticdb*/, b/*ForComprehensions.semanticdb*/ @@ -11,7 +11,7 @@ class ForComprehensions/*ForComprehensions.scala*/ { ( c/*ForComprehensions.semanticdb*/, d/*ForComprehensions.semanticdb*/ - ) <- List/*List.scala*/((a/*ForComprehensions.semanticdb*/, b/*ForComprehensions.semanticdb*/)) + ) <- List/*package.scala*/((a/*ForComprehensions.semanticdb*/, b/*ForComprehensions.semanticdb*/)) if ( a/*ForComprehensions.semanticdb*/, b/*ForComprehensions.semanticdb*/, @@ -25,7 +25,7 @@ class ForComprehensions/*ForComprehensions.scala*/ { d/*ForComprehensions.semanticdb*/ ) if e/*ForComprehensions.semanticdb*/ ==/*Object.java fallback to java.lang.Object#*/ (1, 2, 3, 4) - f/*ForComprehensions.semanticdb*/ <- List/*List.scala*/(e/*ForComprehensions.semanticdb*/) + f/*ForComprehensions.semanticdb*/ <- List/*package.scala*/(e/*ForComprehensions.semanticdb*/) } yield { ( a/*ForComprehensions.semanticdb*/, diff --git a/tests/unit/src/test/resources/definition/example/ImplicitConversions.scala b/tests/unit/src/test/resources/definition/example/ImplicitConversions.scala index 8ab20e37d0f..75725e74054 100644 --- a/tests/unit/src/test/resources/definition/example/ImplicitConversions.scala +++ b/tests/unit/src/test/resources/definition/example/ImplicitConversions.scala @@ -11,17 +11,17 @@ class ImplicitConversions/*ImplicitConversions.scala*/ { // extension methods message/*ImplicitConversions.scala*/ - .stripSuffix/*StringLike.scala*/("h") + .stripSuffix/*StringOps.scala*/("h") tuple/*ImplicitConversions.scala*/ +/*Predef.scala*/ "Hello" // implicit conversions val x/*ImplicitConversions.scala*/: Int/*Int.scala*/ = message/*ImplicitConversions.scala*/ // interpolators - s/*StringContext.scala*/"Hello $message/*ImplicitConversions.scala*/ $number/*ImplicitConversions.scala*/" - s/*StringContext.scala*/"""Hello + s/*StringContext.scala fallback to scala.StringContext#*/"Hello $message/*ImplicitConversions.scala*/ $number/*ImplicitConversions.scala*/" + s/*StringContext.scala fallback to scala.StringContext#*/"""Hello |$message/*ImplicitConversions.scala*/ - |$number/*ImplicitConversions.scala*/""".stripMargin/*StringLike.scala*/ + |$number/*ImplicitConversions.scala*/""".stripMargin/*StringOps.scala*/ val a/*ImplicitConversions.scala*/: Int/*Int.scala*/ = char/*Char.scala*/ val b/*ImplicitConversions.scala*/: Long/*Long.scala*/ = char/*Char.scala*/ diff --git a/tests/unit/src/test/resources/definition/example/Miscellaneous.scala b/tests/unit/src/test/resources/definition/example/Miscellaneous.scala index 6067314501c..971d7e1dfc4 100644 --- a/tests/unit/src/test/resources/definition/example/Miscellaneous.scala +++ b/tests/unit/src/test/resources/definition/example/Miscellaneous.scala @@ -9,8 +9,8 @@ class Miscellaneous/*Miscellaneous.scala*/ { val _ = 42 } // infix + inferred apply/implicits/tparams - (List/*List.scala*/(1) + (List/*package.scala*/(1) .map/*List.scala*/(_ +/*Int.scala*/ 1) - ++/*List.scala*/ - List/*List.scala*/(3)) + ++/*Iterable.scala*/ + List/*package.scala*/(3)) } diff --git a/tests/unit/src/test/resources/definition/example/NamedArguments.scala b/tests/unit/src/test/resources/definition/example/NamedArguments.scala index 74158550dc2..2262ac200c4 100644 --- a/tests/unit/src/test/resources/definition/example/NamedArguments.scala +++ b/tests/unit/src/test/resources/definition/example/NamedArguments.scala @@ -7,7 +7,7 @@ case class User/*NamedArguments.scala*/( } ) object NamedArguments/*NamedArguments.scala*/ { - val susan/*NamedArguments.scala*/ = "Susan" + final val susan/*NamedArguments.scala*/ = "Susan" val user1/*NamedArguments.scala*/ = User/*NamedArguments.scala*/ .apply/*NamedArguments.scala fallback to example.User#*/( @@ -27,8 +27,8 @@ object NamedArguments/*NamedArguments.scala*/ { ) def b/*NamedArguments.scala*/ = 1 // vararg - List/*List.scala*/( - xs/*List.scala*/ = 2 + List/*package.scala*/( + elems/*Factory.scala*/ = 2 ) } diff --git a/tests/unit/src/test/resources/definition/example/ReflectiveInvocation.scala b/tests/unit/src/test/resources/definition/example/ReflectiveInvocation.scala index c1ae59fa7c5..5b06789852a 100644 --- a/tests/unit/src/test/resources/definition/example/ReflectiveInvocation.scala +++ b/tests/unit/src/test/resources/definition/example/ReflectiveInvocation.scala @@ -1,7 +1,7 @@ package example class ReflectiveInvocation/*ReflectiveInvocation.scala*/ { - new Serializable/*Serializable.scala*/ { + new Serializable/*package.scala*/ { def message/*ReflectiveInvocation.semanticdb*/ = "message" // reflective invocation }.message/*ReflectiveInvocation.semanticdb*/ diff --git a/tests/unit/src/test/resources/definition/example/Scalalib.scala b/tests/unit/src/test/resources/definition/example/Scalalib.scala index b182482a4b7..0fe5018be14 100644 --- a/tests/unit/src/test/resources/definition/example/Scalalib.scala +++ b/tests/unit/src/test/resources/definition/example/Scalalib.scala @@ -1,8 +1,8 @@ package example class Scalalib/*Scalalib.scala*/ { - val nil/*Scalalib.scala*/ = List/*List.scala*/() - val lst/*Scalalib.scala*/ = List/*List.scala*/[ + val nil/*Scalalib.scala*/ = List/*package.scala*/() + val lst/*Scalalib.scala*/ = List/*package.scala*/[ ( Nothing, Null, diff --git a/tests/unit/src/test/resources/documentSymbol/example/Definitions.scala b/tests/unit/src/test/resources/documentSymbol/example/Definitions.scala index 2143c6c4329..648adc5da06 100644 --- a/tests/unit/src/test/resources/documentSymbol/example/Definitions.scala +++ b/tests/unit/src/test/resources/documentSymbol/example/Definitions.scala @@ -1,6 +1,9 @@ -/*example(Package):15*/package example +/*example(Package):18*/package example -/*example.Definitions(Class):15*/class Definitions { +import io.circe.derivation.deriveDecoder +import io.circe.derivation.deriveEncoder + +/*example.Definitions(Class):18*/class Definitions { Predef.any2stringadd(1) List[ java.util.Map.Entry[ @@ -8,8 +11,8 @@ java.lang.Double ] ]( - xs = null + elems = null ) - println(MacroAnnotation.decodeMacroAnnotation) - println(MacroAnnotation.encodeMacroAnnotation) + println(deriveDecoder[MacroAnnotation]) + println(deriveEncoder[MacroAnnotation]) } diff --git a/tests/unit/src/test/resources/documentSymbol/example/NamedArguments.scala b/tests/unit/src/test/resources/documentSymbol/example/NamedArguments.scala index fb450e78f21..aa5a18d528c 100644 --- a/tests/unit/src/test/resources/documentSymbol/example/NamedArguments.scala +++ b/tests/unit/src/test/resources/documentSymbol/example/NamedArguments.scala @@ -7,7 +7,7 @@ } ) /*example.NamedArguments(Module):34*/object NamedArguments { - /*example.NamedArguments.susan(Constant):10*/val susan = "Susan" + /*example.NamedArguments.susan(Constant):10*/final val susan = "Susan" /*example.NamedArguments.user1(Constant):15*/val user1 = User .apply( @@ -28,7 +28,7 @@ // vararg List( - xs = 2 + elems = 2 ) } diff --git a/tests/unit/src/test/resources/mtags/example/Definitions.scala b/tests/unit/src/test/resources/mtags/example/Definitions.scala index 7ee232ea0cd..abb1f1b98a9 100644 --- a/tests/unit/src/test/resources/mtags/example/Definitions.scala +++ b/tests/unit/src/test/resources/mtags/example/Definitions.scala @@ -1,5 +1,8 @@ package example +import io.circe.derivation.deriveDecoder +import io.circe.derivation.deriveEncoder + class Definitions/*example.Definitions#*/ { Predef.any2stringadd(1) List[ @@ -8,8 +11,8 @@ class Definitions/*example.Definitions#*/ { java.lang.Double ] ]( - xs = null + elems = null ) - println(MacroAnnotation.decodeMacroAnnotation) - println(MacroAnnotation.encodeMacroAnnotation) + println(deriveDecoder[MacroAnnotation]) + println(deriveEncoder[MacroAnnotation]) } diff --git a/tests/unit/src/test/resources/mtags/example/NamedArguments.scala b/tests/unit/src/test/resources/mtags/example/NamedArguments.scala index 59772f44355..6ba9691f384 100644 --- a/tests/unit/src/test/resources/mtags/example/NamedArguments.scala +++ b/tests/unit/src/test/resources/mtags/example/NamedArguments.scala @@ -7,7 +7,7 @@ case class User/*example.User#*/( } ) object NamedArguments/*example.NamedArguments.*/ { - val susan/*example.NamedArguments.susan.*/ = "Susan" + final val susan/*example.NamedArguments.susan.*/ = "Susan" val user1/*example.NamedArguments.user1.*/ = User .apply( @@ -28,7 +28,7 @@ object NamedArguments/*example.NamedArguments.*/ { // vararg List( - xs = 2 + elems = 2 ) } diff --git a/tests/unit/src/test/resources/semanticdb/example/Definitions.scala b/tests/unit/src/test/resources/semanticdb/example/Definitions.scala index 1918332dce4..757f9c7924f 100644 --- a/tests/unit/src/test/resources/semanticdb/example/Definitions.scala +++ b/tests/unit/src/test/resources/semanticdb/example/Definitions.scala @@ -1,15 +1,18 @@ package example +import io.circe.derivation.deriveDecoder/*io.circe.derivation.package.deriveDecoder(+2).*//*io.circe.derivation.package.deriveDecoder(+1).*//*io.circe.derivation.package.deriveDecoder().*/ +import io.circe.derivation.deriveEncoder/*io.circe.derivation.package.deriveEncoder(+2).*//*io.circe.derivation.package.deriveEncoder(+1).*//*io.circe.derivation.package.deriveEncoder().*/ + class Definitions/*example.Definitions#*/ { Predef/*scala.Predef.*/.any2stringadd/*scala.Predef.any2stringadd().*/(1) - List/*scala.collection.immutable.List.*/[ + List/*scala.package.List.*/[ java.util.Map/*java.util.Map#*/.Entry/*java.util.Map#Entry#*/[ java.lang.Integer/*java.lang.Integer#*/, java.lang.Double/*java.lang.Double#*/ ] ]( - xs/*scala.collection.immutable.List.apply().(xs)*/ = null + elems/*scala.collection.IterableFactory#apply().(elems)*/ = null ) - println/*scala.Predef.println(+1).*/(MacroAnnotation/*example.MacroAnnotation.*/.decodeMacroAnnotation/*example.MacroAnnotation.decodeMacroAnnotation.*/) - println/*scala.Predef.println(+1).*/(MacroAnnotation/*example.MacroAnnotation.*/.encodeMacroAnnotation/*example.MacroAnnotation.encodeMacroAnnotation.*/) + println/*scala.Predef.println(+1).*/(deriveDecoder/*io.circe.derivation.package.deriveDecoder().*//*local0*/[MacroAnnotation/*example.MacroAnnotation#*/]) + println/*scala.Predef.println(+1).*/(deriveEncoder/*io.circe.derivation.package.deriveEncoder().*//*local14*/[MacroAnnotation/*example.MacroAnnotation#*/]) } diff --git a/tests/unit/src/test/resources/semanticdb/example/EtaExpansion.scala b/tests/unit/src/test/resources/semanticdb/example/EtaExpansion.scala index 70440ce682b..cb327f13b06 100644 --- a/tests/unit/src/test/resources/semanticdb/example/EtaExpansion.scala +++ b/tests/unit/src/test/resources/semanticdb/example/EtaExpansion.scala @@ -1,5 +1,5 @@ package example class EtaExpansion/*example.EtaExpansion#*/ { - List/*scala.collection.immutable.List.*/(1).map/*scala.collection.immutable.List#map().*/(identity/*scala.Predef.identity().*/) + List/*scala.package.List.*/(1).map/*scala.collection.immutable.List#map().*/(identity/*scala.Predef.identity().*/) } diff --git a/tests/unit/src/test/resources/semanticdb/example/ForComprehensions.scala b/tests/unit/src/test/resources/semanticdb/example/ForComprehensions.scala index f87437db0b0..832f0dc40c3 100644 --- a/tests/unit/src/test/resources/semanticdb/example/ForComprehensions.scala +++ b/tests/unit/src/test/resources/semanticdb/example/ForComprehensions.scala @@ -2,8 +2,8 @@ package example class ForComprehensions/*example.ForComprehensions#*/ { for { - a/*local0*/ <- List/*scala.collection.immutable.List.*/(1) - b/*local1*/ <- List/*scala.collection.immutable.List.*/(a/*local0*/) + a/*local0*/ <- List/*scala.package.List.*/(1) + b/*local1*/ <- List/*scala.package.List.*/(a/*local0*/) if ( a/*local0*/, b/*local1*/ @@ -11,7 +11,7 @@ class ForComprehensions/*example.ForComprehensions#*/ { ( c/*local7*/, d/*local8*/ - ) <- List/*scala.collection.immutable.List.*/((a/*local0*/, b/*local1*/)) + ) <- List/*scala.package.List.*/((a/*local0*/, b/*local1*/)) if ( a/*local0*/, b/*local1*/, @@ -25,7 +25,7 @@ class ForComprehensions/*example.ForComprehensions#*/ { d/*local8*/ ) if e/*local10*/ ==/*java.lang.Object#`==`().*/ (1, 2, 3, 4) - f/*local11*/ <- List/*scala.collection.immutable.List.*/(e/*local10*/) + f/*local11*/ <- List/*scala.package.List.*/(e/*local10*/) } yield { ( a/*local0*/, diff --git a/tests/unit/src/test/resources/semanticdb/example/ImplicitConversions.scala b/tests/unit/src/test/resources/semanticdb/example/ImplicitConversions.scala index 975f6c94a09..e4f69193738 100644 --- a/tests/unit/src/test/resources/semanticdb/example/ImplicitConversions.scala +++ b/tests/unit/src/test/resources/semanticdb/example/ImplicitConversions.scala @@ -11,7 +11,7 @@ class ImplicitConversions/*example.ImplicitConversions#*/ { // extension methods message/*example.ImplicitConversions#message.*/ - .stripSuffix/*scala.collection.immutable.StringLike#stripSuffix().*/("h") + .stripSuffix/*scala.collection.StringOps#stripSuffix().*/("h") tuple/*example.ImplicitConversions#tuple.*/ +/*scala.Predef.any2stringadd#`+`().*/ "Hello" // implicit conversions @@ -21,7 +21,7 @@ class ImplicitConversions/*example.ImplicitConversions#*/ { s/*scala.StringContext#s().*/"Hello $message/*example.ImplicitConversions#message.*/ $number/*example.ImplicitConversions#number.*/" s/*scala.StringContext#s().*/"""Hello |$message/*example.ImplicitConversions#message.*/ - |$number/*example.ImplicitConversions#number.*/""".stripMargin/*scala.collection.immutable.StringLike#stripMargin(+1).*/ + |$number/*example.ImplicitConversions#number.*/""".stripMargin/*scala.collection.StringOps#stripMargin(+1).*/ val a/*example.ImplicitConversions#a.*/: Int/*scala.Int#*/ = char/*scala.Char#toInt().*/ val b/*example.ImplicitConversions#b.*/: Long/*scala.Long#*/ = char/*scala.Char#toLong().*/ diff --git a/tests/unit/src/test/resources/semanticdb/example/MacroAnnotation.scala b/tests/unit/src/test/resources/semanticdb/example/MacroAnnotation.scala index 62d5a24c644..d2eac13ae23 100644 --- a/tests/unit/src/test/resources/semanticdb/example/MacroAnnotation.scala +++ b/tests/unit/src/test/resources/semanticdb/example/MacroAnnotation.scala @@ -2,7 +2,7 @@ package example import io.circe.derivation.annotations.JsonCodec/*io.circe.derivation.annotations.JsonCodec.*//*io.circe.derivation.annotations.JsonCodec#*/ -@/*local27*/JsonCodec/*example.MacroAnnotation#*/ +@/*local1*/JsonCodec/*example.MacroAnnotation#*/ // FIXME: https://github.com/scalameta/scalameta/issues/1789/*java.lang.Object#``().*/ case class MacroAnnotation( name/*example.MacroAnnotation#name.*/: String/*scala.Predef.String#*/ diff --git a/tests/unit/src/test/resources/semanticdb/example/Miscellaneous.scala b/tests/unit/src/test/resources/semanticdb/example/Miscellaneous.scala index 55850291eb7..f79f3dd44ec 100644 --- a/tests/unit/src/test/resources/semanticdb/example/Miscellaneous.scala +++ b/tests/unit/src/test/resources/semanticdb/example/Miscellaneous.scala @@ -9,8 +9,8 @@ class Miscellaneous/*example.Miscellaneous#*/ { val _ = 42 } // infix + inferred apply/implicits/tparams - (List/*scala.collection.immutable.List.*/(1) + (List/*scala.package.List.*/(1) .map/*scala.collection.immutable.List#map().*/(_ +/*scala.Int#`+`(+4).*/ 1) - ++/*scala.collection.immutable.List#`++`().*/ - List/*scala.collection.immutable.List.*/(3)) + ++/*scala.collection.IterableOps#`++`().*/ + List/*scala.package.List.*/(3)) } diff --git a/tests/unit/src/test/resources/semanticdb/example/NamedArguments.scala b/tests/unit/src/test/resources/semanticdb/example/NamedArguments.scala index 922c58540ec..e8c559b5c35 100644 --- a/tests/unit/src/test/resources/semanticdb/example/NamedArguments.scala +++ b/tests/unit/src/test/resources/semanticdb/example/NamedArguments.scala @@ -7,7 +7,7 @@ case class User/*example.User#*/( } ) object NamedArguments/*example.NamedArguments.*/ { - val susan/*example.NamedArguments.susan.*/ = "Susan" + final val susan/*example.NamedArguments.susan.*/ = "Susan" val user1/*example.NamedArguments.user1.*/ = User/*example.User.*/ .apply/*example.User.apply().*/( @@ -27,8 +27,8 @@ object NamedArguments/*example.NamedArguments.*/ { ) def b/*example.NamedArguments.b().*/ = 1 // vararg - List/*scala.collection.immutable.List.*/( - xs/*scala.collection.immutable.List.apply().(xs)*/ = 2 + List/*scala.package.List.*/( + elems/*scala.collection.IterableFactory#apply().(elems)*/ = 2 ) } diff --git a/tests/unit/src/test/resources/semanticdb/example/ReflectiveInvocation.scala b/tests/unit/src/test/resources/semanticdb/example/ReflectiveInvocation.scala index eae1684f0c3..74543a906a0 100644 --- a/tests/unit/src/test/resources/semanticdb/example/ReflectiveInvocation.scala +++ b/tests/unit/src/test/resources/semanticdb/example/ReflectiveInvocation.scala @@ -1,7 +1,7 @@ package example class ReflectiveInvocation/*example.ReflectiveInvocation#*/ { - new /*local1*/Serializable/*scala.Serializable#*/ /*java.lang.Object#``().*/{ + new /*local1*/Serializable/*scala.package.Serializable#*/ /*java.lang.Object#``().*/{ def message/*local0*/ = "message" // reflective invocation }.message/*local0*/ diff --git a/tests/unit/src/test/resources/semanticdb/example/Scalalib.scala b/tests/unit/src/test/resources/semanticdb/example/Scalalib.scala index d2416eb0f4b..d4dea3022e5 100644 --- a/tests/unit/src/test/resources/semanticdb/example/Scalalib.scala +++ b/tests/unit/src/test/resources/semanticdb/example/Scalalib.scala @@ -1,8 +1,8 @@ package example class Scalalib/*example.Scalalib#*/ { - val nil/*example.Scalalib#nil.*/ = List/*scala.collection.immutable.Nil.*/() - val lst/*example.Scalalib#lst.*/ = List/*scala.collection.immutable.List.*/[ + val nil/*example.Scalalib#nil.*/ = List/*scala.package.List.*/() + val lst/*example.Scalalib#lst.*/ = List/*scala.package.List.*/[ ( Nothing/*scala.Nothing#*/, Null/*scala.Null#*/, diff --git a/tests/unit/src/test/resources/semanticdb/example/VarArgs.scala b/tests/unit/src/test/resources/semanticdb/example/VarArgs.scala index 66db5e7bb53..80a5405721c 100644 --- a/tests/unit/src/test/resources/semanticdb/example/VarArgs.scala +++ b/tests/unit/src/test/resources/semanticdb/example/VarArgs.scala @@ -2,5 +2,5 @@ package example class VarArgs/*example.VarArgs#*/ { def add/*example.VarArgs#add().*/(a/*example.VarArgs#add().(a)*/: Int/*scala.Int#*/*) = a/*example.VarArgs#add().(a)*/ - def add2/*example.VarArgs#add2().*/(a/*example.VarArgs#add2().(a)*/: Seq/*scala.collection.Seq#*/[Int/*scala.Int#*/]*) = a/*example.VarArgs#add2().(a)*/ + def add2/*example.VarArgs#add2().*/(a/*example.VarArgs#add2().(a)*/: Seq/*scala.collection.immutable.Seq#*/[Int/*scala.Int#*/]*) = a/*example.VarArgs#add2().(a)*/ } diff --git a/tests/unit/src/test/resources/workspace-symbol/example/Definitions.scala b/tests/unit/src/test/resources/workspace-symbol/example/Definitions.scala index 7ee232ea0cd..abb1f1b98a9 100644 --- a/tests/unit/src/test/resources/workspace-symbol/example/Definitions.scala +++ b/tests/unit/src/test/resources/workspace-symbol/example/Definitions.scala @@ -1,5 +1,8 @@ package example +import io.circe.derivation.deriveDecoder +import io.circe.derivation.deriveEncoder + class Definitions/*example.Definitions#*/ { Predef.any2stringadd(1) List[ @@ -8,8 +11,8 @@ class Definitions/*example.Definitions#*/ { java.lang.Double ] ]( - xs = null + elems = null ) - println(MacroAnnotation.decodeMacroAnnotation) - println(MacroAnnotation.encodeMacroAnnotation) + println(deriveDecoder[MacroAnnotation]) + println(deriveEncoder[MacroAnnotation]) } diff --git a/tests/unit/src/test/resources/workspace-symbol/example/NamedArguments.scala b/tests/unit/src/test/resources/workspace-symbol/example/NamedArguments.scala index 8c1e4530b7c..6de78068e12 100644 --- a/tests/unit/src/test/resources/workspace-symbol/example/NamedArguments.scala +++ b/tests/unit/src/test/resources/workspace-symbol/example/NamedArguments.scala @@ -7,7 +7,7 @@ case class User/*example.User#*/( } ) object NamedArguments/*example.NamedArguments.*/ { - val susan = "Susan" + final val susan = "Susan" val user1 = User .apply( @@ -28,7 +28,7 @@ object NamedArguments/*example.NamedArguments.*/ { // vararg List( - xs = 2 + elems = 2 ) } diff --git a/tests/unit/src/test/scala/tests/CodeLensLspSuite.scala b/tests/unit/src/test/scala/tests/CodeLensLspSuite.scala index 02c19bc7e3b..9b541b7256e 100644 --- a/tests/unit/src/test/scala/tests/CodeLensLspSuite.scala +++ b/tests/unit/src/test/scala/tests/CodeLensLspSuite.scala @@ -40,10 +40,10 @@ class CodeLensLspSuite extends BaseCodeLensLspSuite("codeLenses") { |""".stripMargin ) - check("test-suite-class", library = Some("org.scalatest::scalatest:3.0.5"))( + check("test-suite-class", library = Some("org.scalatest::scalatest:3.2.4"))( """|package foo.bar |<><> - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin diff --git a/tests/unit/src/test/scala/tests/DebugDiscoverySuite.scala b/tests/unit/src/test/scala/tests/DebugDiscoverySuite.scala index 76b3a81546f..9032c79a1ba 100644 --- a/tests/unit/src/test/scala/tests/DebugDiscoverySuite.scala +++ b/tests/unit/src/test/scala/tests/DebugDiscoverySuite.scala @@ -96,12 +96,12 @@ class DebugDiscoverySuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/${fooPath} |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin @@ -305,12 +305,12 @@ class DebugDiscoverySuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/${fooPath} |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin @@ -338,17 +338,17 @@ class DebugDiscoverySuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/${fooPath} |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |/${barPath} |package a - |class Bar extends org.scalatest.FunSuite { + |class Bar extends org.scalatest.funsuite.AnyFunSuite { | test("bart") {} |} |""".stripMargin @@ -407,12 +407,12 @@ class DebugDiscoverySuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/${fooPath} |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin diff --git a/tests/unit/src/test/scala/tests/DebugProtocolSuite.scala b/tests/unit/src/test/scala/tests/DebugProtocolSuite.scala index d5a06451293..9dd207d53b7 100644 --- a/tests/unit/src/test/scala/tests/DebugProtocolSuite.scala +++ b/tests/unit/src/test/scala/tests/DebugProtocolSuite.scala @@ -373,12 +373,12 @@ class DebugProtocolSuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/a/src/main/scala/a/Foo.scala |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin @@ -404,12 +404,12 @@ class DebugProtocolSuite s"""/metals.json |{ | "a": { - | "libraryDependencies":["org.scalatest::scalatest:3.0.5"] + | "libraryDependencies":["org.scalatest::scalatest:3.2.4"] | } |} |/a/src/main/scala/a/Foo.scala |package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") {} |} |""".stripMargin @@ -417,7 +417,7 @@ class DebugProtocolSuite _ <- server.didOpen("a/src/main/scala/a/Foo.scala") _ <- server.didSave("a/src/main/scala/a/Foo.scala") { _ => """|package a - |class Foo extends org.scalatest.FunSuite { + |class Foo extends org.scalatest.funsuite.AnyFunSuite { | test("foo") { | val a : Int = "" | } diff --git a/tests/unit/src/test/scala/tests/DefinitionLspSuite.scala b/tests/unit/src/test/scala/tests/DefinitionLspSuite.scala index da508dd503e..42de3b26d42 100644 --- a/tests/unit/src/test/scala/tests/DefinitionLspSuite.scala +++ b/tests/unit/src/test/scala/tests/DefinitionLspSuite.scala @@ -23,7 +23,7 @@ class DefinitionLspSuite extends BaseLspSuite("definition") { | "a": { }, | "b": { | "libraryDependencies": [ - | "org.scalatest::scalatest:3.0.5" + | "org.scalatest::scalatest:3.2.4" | ], | "dependsOn": [ "a" ] | } @@ -46,8 +46,8 @@ class DefinitionLspSuite extends BaseLspSuite("definition") { |package a |import java.util.concurrent.Future // unused |import scala.util.Failure // unused - |import org.scalatest.FunSuite - |object MainSuite extends FunSuite { + |import org.scalatest.funsuite.AnyFunSuite + |object MainSuite extends AnyFunSuite { | test("a") { | val condition = Main.message.contains("Hello") | assert(condition) @@ -74,9 +74,9 @@ class DefinitionLspSuite extends BaseLspSuite("definition") { |package a |import java.util.concurrent.Future/*Future.java*/ // unused |import scala.util.Failure/*Try.scala*/ // unused - |import org.scalatest.FunSuite/*FunSuite.scala*/ - |object MainSuite/*L4*/ extends FunSuite/*FunSuite.scala*/ { - | test/*FunSuiteLike.scala*/("a") { + |import org.scalatest.funsuite.AnyFunSuite/*AnyFunSuite.scala*/ + |object MainSuite/*L4*/ extends AnyFunSuite/*AnyFunSuite.scala*/ { + | test/*AnyFunSuiteLike.scala*/("a") { | val condition/*L6*/ = Main/*Main.scala:3*/.message/*Main.scala:4*/.contains/*String.java*/("Hello") | assert/*Assertions.scala*/(condition/*L6*/) | } @@ -113,9 +113,9 @@ class DefinitionLspSuite extends BaseLspSuite("definition") { |package a |import java.util.concurrent.Future/*Future.java*/ // unused |import scala.util.Failure/*Try.scala*/ // unused - |import org.scalatest.FunSuite/*FunSuite.scala*/ - |object MainSuite/*L6*/ extends FunSuite/*FunSuite.scala*/ { - | test/*FunSuiteLike.scala*/(testName/**/) { + |import org.scalatest.funsuite.AnyFunSuite/*AnyFunSuite.scala*/ + |object MainSuite/*L6*/ extends AnyFunSuite/*AnyFunSuite.scala*/ { + | test/*AnyFunSuiteLike.scala*/(testName/**/) { | val condition/*L8*/ = Main/*Main.scala:5*/.message/**/.contains/*String.java*/("Hello") | assert/*Assertions.scala*/(condition/*L8*/) | } diff --git a/tests/unit/src/test/scala/tests/DocumentSymbolSuite.scala b/tests/unit/src/test/scala/tests/DocumentSymbolSuite.scala index d6316f1d76e..260abc958eb 100644 --- a/tests/unit/src/test/scala/tests/DocumentSymbolSuite.scala +++ b/tests/unit/src/test/scala/tests/DocumentSymbolSuite.scala @@ -53,7 +53,7 @@ abstract class DocumentSymbolSuite( .asScala val flatSymbols = - documentSymbols.toSymbolInformation(file.file.toURI.toString) + documentSymbols.toSeq.toSymbolInformation(file.file.toURI.toString) val textDocument = s.TextDocument( schema = s.Schema.SEMANTICDB4, language = s.Language.SCALA, diff --git a/tests/unit/src/test/scala/tests/ImplementationLspSuite.scala b/tests/unit/src/test/scala/tests/ImplementationLspSuite.scala index 0418d319732..50d58d0f4c4 100644 --- a/tests/unit/src/test/scala/tests/ImplementationLspSuite.scala +++ b/tests/unit/src/test/scala/tests/ImplementationLspSuite.scala @@ -471,14 +471,14 @@ class ImplementationLspSuite extends BaseRangesSuite("implementation") { "libraries", """|/a/src/main/scala/a/A.scala |package a - |import org.scalatest.FunSuite - |import org.scalatest.WordSpecLike - |import org.scalatest.Matchers + | |import org.scalatest.BeforeAndAfterAll + |import org.scalatest.matchers.should.Matchers + |import org.scalatest.wordspec.AnyWordSpec | - |class <> extends WordSpecLike with Matchers with Before@@AndAfterAll {} - |class <> extends WordSpecLike with Matchers with BeforeAndAfterAll {} - |class <> extends WordSpecLike with Matchers with BeforeAndAfterAll {} + |class <> extends AnyWordSpec with Matchers with Before@@AndAfterAll {} + |class <> extends AnyWordSpec with Matchers with BeforeAndAfterAll {} + |class <> extends AnyWordSpec with Matchers with BeforeAndAfterAll {} |""".stripMargin ) @@ -555,10 +555,7 @@ class ImplementationLspSuite extends BaseRangesSuite("implementation") { ) override protected def libraryDependencies: List[String] = - List("org.scalatest::scalatest:3.0.5", "io.circe::circe-generic:0.12.0") - - override protected def compilerPlugins: List[String] = - List("org.scalamacros:::paradise:2.1.1") + List("org.scalatest::scalatest:3.2.4", "io.circe::circe-generic:0.12.0") override def assertCheck( filename: String, diff --git a/tests/unit/src/test/scala/tests/InverseDependenciesSuite.scala b/tests/unit/src/test/scala/tests/InverseDependenciesSuite.scala index e6a80c33600..0f2d7e8e38e 100644 --- a/tests/unit/src/test/scala/tests/InverseDependenciesSuite.scala +++ b/tests/unit/src/test/scala/tests/InverseDependenciesSuite.scala @@ -31,7 +31,7 @@ class InverseDependenciesSuite extends BaseSuite { { key => original.inverseDependencies .get(key.getUri) - .map(_.map(new BuildTargetIdentifier(_))) + .map(_.map(new BuildTargetIdentifier(_)).toSeq) } ) assertNoDiff( diff --git a/tests/unit/src/test/scala/tests/JavadocSuite.scala b/tests/unit/src/test/scala/tests/JavadocSuite.scala index c59dc37851f..2cd942b3ee4 100644 --- a/tests/unit/src/test/scala/tests/JavadocSuite.scala +++ b/tests/unit/src/test/scala/tests/JavadocSuite.scala @@ -165,8 +165,8 @@ class JavadocSuite extends BaseSuite { |[#javadoc](#javadoc) | |**Parameters** - |- `url`: an absolute URL giving the base location of the image |- `name`: the location of the image, relative to the url argument + |- `url`: an absolute URL giving the base location of the image | |**Returns:** the image at the specified URL | diff --git a/tests/unit/src/test/scala/tests/NewProjectLspSuite.scala b/tests/unit/src/test/scala/tests/NewProjectLspSuite.scala index 11d64d0f922..8ea8c518b99 100644 --- a/tests/unit/src/test/scala/tests/NewProjectLspSuite.scala +++ b/tests/unit/src/test/scala/tests/NewProjectLspSuite.scala @@ -35,16 +35,16 @@ class NewProjectLspSuite extends BaseLspSuite("new-project") { | settings( | inThisBuild(List( | organization := "com.example", - | scalaVersion := "2.13.1" + | scalaVersion := "2.13.8" | )), | name := "scalatest-example" | ) | - |libraryDependencies += "org.scalatest" %% "scalatest" % "3.1.0" % Test + |libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.4" % Test | | |/$name/project/build.properties - |sbt.version=1.3.10 + |sbt.version=1.6.2 | | |/$name/src/main/scala/CubeCalculator.scala diff --git a/tests/unit/src/test/scala/tests/QuickBuildSuite.scala b/tests/unit/src/test/scala/tests/QuickBuildSuite.scala index e8afe67368d..f4a01b73e98 100644 --- a/tests/unit/src/test/scala/tests/QuickBuildSuite.scala +++ b/tests/unit/src/test/scala/tests/QuickBuildSuite.scala @@ -22,7 +22,7 @@ class QuickBuildSuite extends BaseLspSuite(s"quick-build") { | "b": { | "scalacOptions": [ "-Ywarn-unused-import" ], | "libraryDependencies": [ - | "org.scalatest::scalatest:3.0.5" + | "org.scalatest::scalatest:3.2.4" | ], | "dependsOn": [ "a" ] | } @@ -38,8 +38,8 @@ class QuickBuildSuite extends BaseLspSuite(s"quick-build") { |package b |import a._ |import scala.util.Success - |import org.scalatest._ - |class B extends FunSuite { + |import org.scalatest.funsuite._ + |class B extends AnyFunSuite { | test("") { | println(A.settings) | } @@ -68,9 +68,9 @@ class QuickBuildSuite extends BaseLspSuite(s"quick-build") { |package b |import a._ |import scala.util.Success/*Try.scala*/ - |import org.scalatest._ - |class B/*L4*/ extends FunSuite/*FunSuite.scala*/ { - | test/*FunSuiteLike.scala*/("") { + |import org.scalatest.funsuite._ + |class B/*L4*/ extends AnyFunSuite/*AnyFunSuite.scala*/ { + | test/*AnyFunSuiteLike.scala*/("") { | println/*Predef.scala*/(A/*A.scala:3*/.settings/*A.scala:4*/) | } |} diff --git a/tests/unit/src/test/scala/tests/SuperMethodLspSuite.scala b/tests/unit/src/test/scala/tests/SuperMethodLspSuite.scala index 750eee34ac1..3dae043ed1b 100644 --- a/tests/unit/src/test/scala/tests/SuperMethodLspSuite.scala +++ b/tests/unit/src/test/scala/tests/SuperMethodLspSuite.scala @@ -307,7 +307,7 @@ class SuperMethodLspSuite extends BaseLspSuite("gotosupermethod") { uri: String ): (Map[Int, (Position, String)], Map[Int, Option[Int]]) = { val (mapping, asserts) = parse(code) - (mapping.mapValues((_, uri)), asserts) + (mapping.mapValues((_, uri)).toMap, asserts) } private def parse( diff --git a/tests/unit/src/test/scala/tests/SystemProcessSuite.scala b/tests/unit/src/test/scala/tests/SystemProcessSuite.scala index 8b568650909..74aae2decb4 100644 --- a/tests/unit/src/test/scala/tests/SystemProcessSuite.scala +++ b/tests/unit/src/test/scala/tests/SystemProcessSuite.scala @@ -24,7 +24,7 @@ class SystemProcessSuite extends FunSuite { redirectErrorOutput = false, Map.empty ) - val exitCode = Await.result(ps.complete, 1 seconds) + val exitCode = Await.result(ps.complete, 1.seconds) assertEquals(exitCode, 22) } @@ -41,7 +41,7 @@ class SystemProcessSuite extends FunSuite { Map.empty ) ps.cancel - val exitCode = Await.result(ps.complete, 5 seconds) + val exitCode = Await.result(ps.complete, 5.seconds) assert(exitCode != 0) } @@ -52,7 +52,7 @@ class SystemProcessSuite extends FunSuite { redirectErrorOutput = false, Map.empty ) - val exitCode = Await.result(ps.complete, 1 seconds) + val exitCode = Await.result(ps.complete, 1.seconds) assertEquals(exitCode, 1) } } diff --git a/tests/unit/src/test/scala/tests/codeactions/CreateNewSymbolLspSuite.scala b/tests/unit/src/test/scala/tests/codeactions/CreateNewSymbolLspSuite.scala index 8b880215144..799894c64ec 100644 --- a/tests/unit/src/test/scala/tests/codeactions/CreateNewSymbolLspSuite.scala +++ b/tests/unit/src/test/scala/tests/codeactions/CreateNewSymbolLspSuite.scala @@ -20,10 +20,10 @@ class CreateNewSymbolLspSuite extends BaseCodeActionLspSuite("createNew") { | |case class School(name: String, location: <>) |""".stripMargin, - s"""|${ImportMissingSymbol.title("Location", "scala.collection.script")} - |${ImportMissingSymbol.title("Location", "javax.xml.stream")} - |${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} + s"""|${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} |${ImportMissingSymbol.title("Location", docToolName)} + |${ImportMissingSymbol.title("Location", "scala.collection.script")} + |${ImportMissingSymbol.title("Location", "javax.xml.stream")} |${CreateNewSymbol.title("Location")}""".stripMargin, selectedActionIndex = 4, pickedKind = "scala-case-class", @@ -40,10 +40,10 @@ class CreateNewSymbolLspSuite extends BaseCodeActionLspSuite("createNew") { | |case class School(name: String, location: <>) |""".stripMargin, - s"""|${ImportMissingSymbol.title("Location", "scala.collection.script")} - |${ImportMissingSymbol.title("Location", "javax.xml.stream")} - |${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} + s"""|${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} |${ImportMissingSymbol.title("Location", docToolName)} + |${ImportMissingSymbol.title("Location", "scala.collection.script")} + |${ImportMissingSymbol.title("Location", "javax.xml.stream")} |${CreateNewSymbol.title("Location")}""".stripMargin, selectedActionIndex = 4, pickedKind = "scala-trait", @@ -62,10 +62,10 @@ class CreateNewSymbolLspSuite extends BaseCodeActionLspSuite("createNew") { | |<> |""".stripMargin, - s"""|${ImportMissingSymbol.title("Location", "scala.collection.script")} - |${ImportMissingSymbol.title("Location", "javax.xml.stream")} - |${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} + s"""|${ImportMissingSymbol.title("Location", "javax.tools.JavaFileManager")} |${ImportMissingSymbol.title("Location", docToolName)} + |${ImportMissingSymbol.title("Location", "scala.collection.script")} + |${ImportMissingSymbol.title("Location", "javax.xml.stream")} |${CreateNewSymbol.title("Missing")} |${CreateNewSymbol.title("Location")} |${ExtractRenameMember.renameFileAsClassTitle(fileName = "A.scala", memberName = "School")} diff --git a/tests/unit/src/test/scala/tests/debug/CompletionDapSuite.scala b/tests/unit/src/test/scala/tests/debug/CompletionDapSuite.scala index f81e2d505f9..7685d64dacb 100644 --- a/tests/unit/src/test/scala/tests/debug/CompletionDapSuite.scala +++ b/tests/unit/src/test/scala/tests/debug/CompletionDapSuite.scala @@ -48,8 +48,8 @@ class CompletionDapSuite expression = "Preceding(@@)", expectedCompletions = """|num = |args: Array[String] + |Main a |main(args: Array[String]): Unit - |Preceding a.Main |""".stripMargin, expectedEdit = "Preceding(num = )", topLines = Some(4)