diff --git a/.scalafmt.conf b/.scalafmt.conf index ac72f5f2d..baa352169 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -13,7 +13,7 @@ rewrite.redundantBraces.generalExpressions = true rewrite.redundantBraces.stringInterpolation = true rewrite.redundantBraces.defnBodies = none fileOverride { - "glob:**/modules/unpickler/**.scala" { + "glob:**/modules/decoder/**.scala" { rewrite.scala3.convertToNewSyntax = yes rewrite.scala3.removeOptionalBraces = yes } diff --git a/build.sbt b/build.sbt index c3b72fd30..70669641d 100644 --- a/build.sbt +++ b/build.sbt @@ -37,7 +37,7 @@ lazy val root = project expressionCompiler30, expressionCompiler33, expressionCompiler34, - unpickler3 + decoder3 ) .settings( publish / skip := true @@ -93,7 +93,7 @@ lazy val core = projectMatrix BuildInfoKey.action("organization")(organization.value), BuildInfoKey.action("version")(version.value), BuildInfoKey.action("expressionCompilerName")((LocalProject("expressionCompiler2_12") / name).value), - BuildInfoKey.action("unpicklerName")((LocalProject("unpickler3") / name).value), + BuildInfoKey.action("decoderName")((LocalProject("decoder3") / name).value), BuildInfoKey.action("scala212")(Dependencies.scala212), BuildInfoKey.action("scala213")(Dependencies.scala213), BuildInfoKey.action("scala30")(Dependencies.scala30), @@ -194,12 +194,12 @@ lazy val expressionCompiler = projectMatrix scalacOptionsSettings ) -lazy val unpickler3: Project = project - .in(file("modules/unpickler")) +lazy val decoder3: Project = project + .in(file("modules/decoder")) .disablePlugins(SbtJdiTools) .dependsOn(tests3 % Test) .settings( - name := "scala-debug-unpickler", + name := "scala-debug-decoder", scalaVersion := Dependencies.scala33, Compile / doc / sources := Seq.empty, libraryDependencies ++= Seq( @@ -222,7 +222,7 @@ lazy val testOptionsSettings = Def.settings( LocalProject("expressionCompiler2_13") / publishLocal, LocalProject("expressionCompiler3_3") / publishLocal, LocalProject("expressionCompiler3_4") / publishLocal, - LocalProject("unpickler3") / publishLocal + LocalProject("decoder3") / publishLocal ) .value ) diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/DebugToolsResolver.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/DebugToolsResolver.scala index 85daee117..b17cf1331 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/DebugToolsResolver.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/DebugToolsResolver.scala @@ -4,5 +4,5 @@ import scala.util.Try trait DebugToolsResolver { def resolveExpressionCompiler(scalaVersion: ScalaVersion): Try[ClassLoader] - def resolveUnpickler(scalaVersion: ScalaVersion): Try[ClassLoader] + def resolveDecoder(scalaVersion: ScalaVersion): Try[ClassLoader] } diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/DebugTools.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/DebugTools.scala index 7fd482a99..1cff7896b 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/DebugTools.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/DebugTools.scala @@ -8,7 +8,7 @@ import scala.reflect.io.File private[debugadapter] final class DebugTools( val expressionCompilers: Map[ClassEntry, ExpressionCompiler], - val unpickler: Option[ClassLoader], + val decoder: Option[ClassLoader], val sourceLookUp: SourceLookUpProvider ) @@ -28,12 +28,12 @@ object DebugTools { loadExpressionCompiler(debuggee, resolver, logger) } - val unpickler = + val decoder = if (debuggee.scalaVersion.isScala3) { TimeUtils.logTime(logger, "Loaded step filter") { resolver - .resolveUnpickler(debuggee.scalaVersion) - .warnFailure(logger, s"Cannot fetch unpickler of Scala ${debuggee.scalaVersion}") + .resolveDecoder(debuggee.scalaVersion) + .warnFailure(logger, s"Cannot fetch decoder of Scala ${debuggee.scalaVersion}") } } else None @@ -49,7 +49,7 @@ object DebugTools { SourceLookUpProvider(distinctEntries, logger) } - new DebugTools(allCompilers, unpickler, sourceLookUp) + new DebugTools(allCompilers, decoder, sourceLookUp) } /* At most 2 expression compilers are resolved, one for Scala 2 and one for Scala 3 diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/StackTraceProvider.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/StackTraceProvider.scala index b420b548e..2752f654b 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/StackTraceProvider.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/StackTraceProvider.scala @@ -11,17 +11,17 @@ import java.util.Optional class StackTraceProvider( runtimeFilter: RuntimeStepFilter, - scalaUnpickler: ScalaUnpickler, + decoder: ScalaDecoder, logger: Logger, testMode: Boolean ) extends JavaStackTraceProvider() { - private val stepFilters: Seq[StepFilter] = Seq(ClassLoadingFilter, runtimeFilter, scalaUnpickler) + private val stepFilters: Seq[StepFilter] = Seq(ClassLoadingFilter, runtimeFilter, decoder) - def reload(): Unit = scalaUnpickler.reload() + def reload(): Unit = decoder.reload() override def formatMethod(method: Method): Optional[String] = { - scalaUnpickler.format(method) match { + decoder.format(method) match { case None => Optional.empty() case Some(s) => Optional.of(s) } @@ -62,11 +62,11 @@ object StackTraceProvider { logger: Logger, testMode: Boolean ): StackTraceProvider = { - val scalaUnpickler: ScalaUnpickler = ScalaUnpickler(debuggee, tools, logger, testMode) + val decoder: ScalaDecoder = ScalaDecoder(debuggee, tools, logger, testMode) val runtimeStepFilter = RuntimeStepFilter(debuggee.scalaVersion) new StackTraceProvider( runtimeStepFilter, - scalaUnpickler, + decoder, logger, testMode ) diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Unpickler.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Decoder.scala similarity index 99% rename from modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Unpickler.scala rename to modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Decoder.scala index 9ff5e5dc4..123fc38db 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Unpickler.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2Decoder.scala @@ -10,12 +10,12 @@ import com.sun.jdi import scala.jdk.CollectionConverters.* import scala.util.matching.Regex -class Scala2Unpickler( +class Scala2Decoder( sourceLookUp: SourceLookUpProvider, scalaVersion: ScalaVersion, logger: Logger, testMode: Boolean -) extends ScalaUnpickler(scalaVersion, testMode) { +) extends ScalaDecoder(scalaVersion, testMode) { override protected def skipScala(method: jdi.Method): Boolean = { if (isLazyInitializer(method)) { skipLazyInitializer(method) diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3UnpicklerBridge.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3DecoderBridge.scala similarity index 79% rename from modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3UnpicklerBridge.scala rename to modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3DecoderBridge.scala index cb07075f7..018cfb110 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3UnpicklerBridge.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3DecoderBridge.scala @@ -16,7 +16,7 @@ import scala.jdk.CollectionConverters._ import scala.jdk.OptionConverters._ import scala.util.Try -class Scala3UnpicklerBridge( +class Scala3DecoderBridge( debuggee: Debuggee, cls: Class[?], var bridge: Any, @@ -24,10 +24,10 @@ class Scala3UnpicklerBridge( formatMethod: Method, testMode: Boolean, logger: Logger -) extends ScalaUnpickler(debuggee.scalaVersion, testMode) { +) extends ScalaDecoder(debuggee.scalaVersion, testMode) { override def reload(): Unit = - bridge = Scala3UnpicklerBridge.load(debuggee, cls, logger, testMode) + bridge = Scala3DecoderBridge.load(debuggee, cls, logger, testMode) override protected def skipScala(method: jdi.Method): Boolean = { try skipMethod.invoke(bridge, method).asInstanceOf[Boolean] @@ -46,8 +46,8 @@ class Scala3UnpicklerBridge( } } -object Scala3UnpicklerBridge { - def load(debuggee: Debuggee, unpicklerClass: Class[?], logger: Logger, testMode: Boolean) = { +object Scala3DecoderBridge { + def load(debuggee: Debuggee, decoderClass: Class[?], logger: Logger, testMode: Boolean) = { val javaRuntimeJars = debuggee.javaRuntime.toSeq.flatMap { case Java8(_, classJars, _) => classJars case java9OrAbove: Java9OrAbove => @@ -57,7 +57,7 @@ object Scala3UnpicklerBridge { } val debuggeeClasspath = debuggee.classPath.toArray ++ javaRuntimeJars val warnLogger: Consumer[String] = msg => logger.warn(msg) - val ctr = unpicklerClass.getConstructor(classOf[Array[Path]], classOf[Consumer[String]], classOf[Boolean]) + val ctr = decoderClass.getConstructor(classOf[Array[Path]], classOf[Consumer[String]], classOf[Boolean]) ctr.newInstance(debuggeeClasspath, warnLogger, testMode: java.lang.Boolean) } @@ -67,16 +67,16 @@ object Scala3UnpicklerBridge { classLoader: ClassLoader, logger: Logger, testMode: Boolean - ): Try[Scala3UnpicklerBridge] = { + ): Try[Scala3DecoderBridge] = { Try { - val className = "ch.epfl.scala.debugadapter.internal.stacktrace.Scala3UnpicklerBridge" + val className = "ch.epfl.scala.debugadapter.internal.stacktrace.Scala3DecoderBridge" val cls = classLoader.loadClass(className) val bridge = load(debuggee, cls, logger, testMode) val skipMethod = cls.getMethod("skipMethod", classOf[Any]) val formatMethod = cls.getMethod("formatMethod", classOf[Any]) - new Scala3UnpicklerBridge(debuggee, cls, bridge, skipMethod, formatMethod, testMode, logger) + new Scala3DecoderBridge(debuggee, cls, bridge, skipMethod, formatMethod, testMode, logger) } } } diff --git a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaUnpickler.scala b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaDecoder.scala similarity index 94% rename from modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaUnpickler.scala rename to modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaDecoder.scala index b313df8c2..b8eb06fd3 100644 --- a/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaUnpickler.scala +++ b/modules/core/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ScalaDecoder.scala @@ -12,7 +12,7 @@ import com.sun.jdi.ReferenceType import scala.jdk.CollectionConverters.* import scala.util.control.NonFatal -abstract class ScalaUnpickler(scalaVersion: ScalaVersion, testMode: Boolean) extends StepFilter { +abstract class ScalaDecoder(scalaVersion: ScalaVersion, testMode: Boolean) extends StepFilter { protected def skipScala(method: Method): Boolean protected def formatScala(method: Method): Option[String] = Some(formatJava(method)) @@ -145,27 +145,27 @@ abstract class ScalaUnpickler(scalaVersion: ScalaVersion, testMode: Boolean) ext method.name.matches(""".+\$access\$\d+""") } -object ScalaUnpickler { +object ScalaDecoder { def apply( debuggee: Debuggee, tools: DebugTools, logger: Logger, testMode: Boolean - ): ScalaUnpickler = { + ): ScalaDecoder = { if (debuggee.scalaVersion.isScala2) - new Scala2Unpickler(tools.sourceLookUp, debuggee.scalaVersion, logger, testMode) + new Scala2Decoder(tools.sourceLookUp, debuggee.scalaVersion, logger, testMode) else - tools.unpickler + tools.decoder .flatMap { classLoader => - Scala3UnpicklerBridge + Scala3DecoderBridge .tryLoad(debuggee, classLoader, logger, testMode) .warnFailure(logger, s"Cannot load step filter for Scala ${debuggee.scalaVersion}") } .getOrElse(fallback(debuggee.scalaVersion, testMode)) } - private def fallback(scalaVersion: ScalaVersion, testMode: Boolean): ScalaUnpickler = - new ScalaUnpickler(scalaVersion, testMode) { + private def fallback(scalaVersion: ScalaVersion, testMode: Boolean): ScalaDecoder = + new ScalaDecoder(scalaVersion, testMode) { override protected def skipScala(method: Method): Boolean = false } } diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/BinaryClassLoader.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/BinaryClassLoader.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/BinaryClassLoader.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/BinaryClassLoader.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/ClassType.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/ClassType.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/ClassType.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/ClassType.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Field.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Field.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Field.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Field.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Instruction.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Instruction.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Instruction.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Instruction.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Method.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Method.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Method.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Method.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Parameter.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Parameter.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Parameter.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Parameter.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SignedName.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SignedName.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SignedName.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SignedName.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SourceLines.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SourceLines.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SourceLines.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/SourceLines.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Symbol.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Symbol.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Symbol.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Symbol.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Type.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Type.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Type.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/binary/Type.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraClassInfo.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraClassInfo.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraClassInfo.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraClassInfo.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraMethodInfo.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraMethodInfo.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraMethodInfo.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/ExtraMethodInfo.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectClass.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectClass.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectClass.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectClass.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectConstructor.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectConstructor.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectConstructor.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectConstructor.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectField.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectField.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectField.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectField.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectLoader.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectLoader.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectLoader.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectLoader.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectMethod.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectMethod.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectMethod.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectMethod.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectParameter.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectParameter.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectParameter.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectParameter.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectUtils.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectUtils.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectUtils.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/javareflect/JavaReflectUtils.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/ByteCodes.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/ByteCodes.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/ByteCodes.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/ByteCodes.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JavaReflection.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JavaReflection.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JavaReflection.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JavaReflection.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiClassLoader.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiClassLoader.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiClassLoader.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiClassLoader.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocalVariable.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocalVariable.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocalVariable.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocalVariable.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocation.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocation.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocation.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiLocation.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiMethod.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiMethod.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiMethod.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiMethod.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiReferenceType.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiReferenceType.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiReferenceType.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiReferenceType.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiType.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiType.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiType.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/jdi/JdiType.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoder.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoder.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoder.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoder.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CommonNames.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CommonNames.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CommonNames.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CommonNames.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CustomClasspath.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CustomClasspath.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CustomClasspath.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/CustomClasspath.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/DecodedSymbol.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/DecodedSymbol.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/DecodedSymbol.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/DecodedSymbol.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Definitions.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Definitions.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Definitions.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Definitions.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/InlineCall.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/InlineCall.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/InlineCall.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/InlineCall.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTree.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTree.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTree.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTree.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTreeCollector.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTreeCollector.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTreeCollector.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/LiftedTreeCollector.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/NameTransformer.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/NameTransformer.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/NameTransformer.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/NameTransformer.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Patterns.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Patterns.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Patterns.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Patterns.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Unpickler.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Decoder.scala similarity index 87% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Unpickler.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Decoder.scala index 98740e766..f4736dbda 100644 --- a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Unpickler.scala +++ b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala3Decoder.scala @@ -19,7 +19,7 @@ import java.util.function.Consumer import scala.jdk.OptionConverters.* import scala.util.matching.Regex -class Scala3UnpicklerBridge( +class Scala3DecoderBridge( classEntries: Array[Path], warnLogger: Consumer[String], testMode: Boolean @@ -28,17 +28,18 @@ class Scala3UnpicklerBridge( // make it quiet, or it would be too verbose when things go wrong using ThrowOrWarn(_ => (), testMode) ) - val formatter: StackTraceFormatter = StackTraceFormatter(using ThrowOrWarn(s => warnLogger.accept(s), testMode)) - val unpickler: Scala3Unpickler = Scala3Unpickler(decoder, formatter) + private val formatter = StackTraceFormatter(using ThrowOrWarn(s => warnLogger.accept(s), testMode)) + private val impl: Scala3Decoder = Scala3Decoder(formatter) def skipMethod(obj: Any): Boolean = val decodedMethod = decoder.decode(JdiMethod(obj)) - unpickler.skip(decodedMethod) + impl.skip(decodedMethod) def formatMethod(obj: Any): Optional[String] = - unpickler.format(JdiMethod(obj)).toJava + val decodedMethod = decoder.decode(JdiMethod(obj)) + impl.format(decodedMethod).toJava -class Scala3Unpickler(decoder: BinaryDecoder, formatter: StackTraceFormatter): +class Scala3Decoder(formatter: StackTraceFormatter): def skip(method: DecodedMethod): Boolean = method match case method: DecodedMethod.ValOrDefDef => @@ -65,7 +66,7 @@ class Scala3Unpickler(decoder: BinaryDecoder, formatter: StackTraceFormatter): case method: DecodedMethod.InlinedMethod => skip(method.underlying) case _ => false - def format(method: binary.Method): Option[String] = + def format(method: DecodedMethod): Option[String] = def rec(method: DecodedMethod): Option[String] = method match case method: DecodedMethod.LazyInit if method.symbol.owner.isTrait => None @@ -80,4 +81,4 @@ class Scala3Unpickler(decoder: BinaryDecoder, formatter: StackTraceFormatter): case _: DecodedMethod.AdaptedFun => None case method: DecodedMethod.InlinedMethod => rec(method.underlying) case m => Some(formatter.format(m)) - rec(decoder.decode(method)) + rec(method) diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/StackTraceFormatter.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/StackTraceFormatter.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/StackTraceFormatter.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/StackTraceFormatter.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ThrowOrWarn.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ThrowOrWarn.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ThrowOrWarn.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/ThrowOrWarn.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/exceptions.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/exceptions.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/exceptions.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/exceptions.scala diff --git a/modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/extensions.scala b/modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/extensions.scala similarity index 100% rename from modules/unpickler/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/extensions.scala rename to modules/decoder/src/main/scala/ch/epfl/scala/debugadapter/internal/stacktrace/extensions.scala diff --git a/modules/unpickler/src/main/scala/tastyquery/debugadapter/Substituters.scala b/modules/decoder/src/main/scala/tastyquery/debugadapter/Substituters.scala similarity index 100% rename from modules/unpickler/src/main/scala/tastyquery/debugadapter/Substituters.scala rename to modules/decoder/src/main/scala/tastyquery/debugadapter/Substituters.scala diff --git a/modules/unpickler/src/main/scala/tastyquery/debugadapter/TypeMaps.scala b/modules/decoder/src/main/scala/tastyquery/debugadapter/TypeMaps.scala similarity index 100% rename from modules/unpickler/src/main/scala/tastyquery/debugadapter/TypeMaps.scala rename to modules/decoder/src/main/scala/tastyquery/debugadapter/TypeMaps.scala diff --git a/modules/unpickler/src/test/resources/scala3-artifacts-231121-failed.csv b/modules/decoder/src/test/resources/scala3-artifacts-231121-failed.csv similarity index 100% rename from modules/unpickler/src/test/resources/scala3-artifacts-231121-failed.csv rename to modules/decoder/src/test/resources/scala3-artifacts-231121-failed.csv diff --git a/modules/unpickler/src/test/resources/scala3-artifacts-231121.csv b/modules/decoder/src/test/resources/scala3-artifacts-231121.csv similarity index 100% rename from modules/unpickler/src/test/resources/scala3-artifacts-231121.csv rename to modules/decoder/src/test/resources/scala3-artifacts-231121.csv diff --git a/modules/unpickler/src/test/resources/test-result-231121-details.txt b/modules/decoder/src/test/resources/test-result-231121-details.txt similarity index 100% rename from modules/unpickler/src/test/resources/test-result-231121-details.txt rename to modules/decoder/src/test/resources/test-result-231121-details.txt diff --git a/modules/unpickler/src/test/resources/test-result-231121-summary.txt b/modules/decoder/src/test/resources/test-result-231121-summary.txt similarity index 100% rename from modules/unpickler/src/test/resources/test-result-231121-summary.txt rename to modules/decoder/src/test/resources/test-result-231121-summary.txt diff --git a/modules/unpickler/src/test/resources/test-result-231121-total.txt b/modules/decoder/src/test/resources/test-result-231121-total.txt similarity index 100% rename from modules/unpickler/src/test/resources/test-result-231121-total.txt rename to modules/decoder/src/test/resources/test-result-231121-total.txt diff --git a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStats.scala b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStats.scala similarity index 100% rename from modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStats.scala rename to modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStats.scala diff --git a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStatsFull.scala b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStatsFull.scala similarity index 100% rename from modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStatsFull.scala rename to modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderStatsFull.scala diff --git a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala similarity index 98% rename from modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala rename to modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala index 0e999dee3..1834e5707 100644 --- a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala +++ b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderSuite.scala @@ -16,6 +16,7 @@ import scala.jdk.CollectionConverters.* trait BinaryDecoderSuite extends CommonFunSuite: protected def throwOrWarn: ThrowOrWarn = ThrowOrWarn.printAndThrow private def formatter(using ThrowOrWarn) = StackTraceFormatter() + private def debugDecoder = Scala3Decoder(formatter) given ThrowOrWarn = throwOrWarn @@ -35,7 +36,6 @@ trait BinaryDecoderSuite extends CommonFunSuite: TestingDecoder(library, libraries) extension (decoder: TestingDecoder) - private def unpickler = Scala3Unpickler(decoder.decoder, formatter) def assertDecode(className: String, expected: String)(using munit.Location): Unit = val cls = decoder.classLoader.loadClass(className) @@ -48,7 +48,7 @@ trait BinaryDecoderSuite extends CommonFunSuite: val binaryMethod = loadBinaryMethod(className, method) val decodedMethod = decoder.decode(binaryMethod) assertEquals(formatter.format(decodedMethod), expected) - assertEquals(unpickler.skip(decodedMethod), skip) + assertEquals(debugDecoder.skip(decodedMethod), skip) def assertNotFound(declaringType: String, javaSig: String)(using munit.Location): Unit = val method = loadBinaryMethod(declaringType, javaSig) diff --git a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderTests.scala b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderTests.scala similarity index 100% rename from modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderTests.scala rename to modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/BinaryDecoderTests.scala diff --git a/modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/TestingDecoder.scala b/modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/TestingDecoder.scala similarity index 100% rename from modules/unpickler/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/TestingDecoder.scala rename to modules/decoder/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/TestingDecoder.scala diff --git a/modules/sbt-plugin/src/main/scala/ch/epfl/scala/debugadapter/sbtplugin/internal/SbtDebugToolsResolver.scala b/modules/sbt-plugin/src/main/scala/ch/epfl/scala/debugadapter/sbtplugin/internal/SbtDebugToolsResolver.scala index f8e1ad218..b62c7943d 100644 --- a/modules/sbt-plugin/src/main/scala/ch/epfl/scala/debugadapter/sbtplugin/internal/SbtDebugToolsResolver.scala +++ b/modules/sbt-plugin/src/main/scala/ch/epfl/scala/debugadapter/sbtplugin/internal/SbtDebugToolsResolver.scala @@ -57,18 +57,18 @@ class SbtDebugToolsResolver( } } - override def resolveUnpickler(scalaVersion: ScalaVersion): Try[ClassLoader] = { + override def resolveDecoder(scalaVersion: ScalaVersion): Try[ClassLoader] = { val org = BuildInfo.organization - val artifact = s"${BuildInfo.unpicklerName}_3" + val artifact = s"${BuildInfo.decoderName}_3" val version = BuildInfo.version val tastyDep = "org.scala-lang" % "tasty-core_3" % scalaVersion.value for (report <- fetchArtifactsOf(org % artifact % version, Seq(tastyDep))) yield { - val unpicklerJars = report + val decoderJars = report .select(configurationFilter(Runtime.name), moduleFilter(), artifactFilter(extension = "jar", classifier = "")) .map(_.toURI.toURL) .toArray - new URLClassLoader(unpicklerJars, null) + new URLClassLoader(decoderJars, null) } } diff --git a/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/ScalaInstance.scala b/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/ScalaInstance.scala index 98d029fd7..0ac4ddd98 100644 --- a/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/ScalaInstance.scala +++ b/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/ScalaInstance.scala @@ -10,12 +10,12 @@ sealed abstract class ScalaInstance( val libraryJars: Seq[Library], compilerJars: Seq[Library], expressionCompilerJar: Library, - unpicklerJars: Seq[Library] + decoderJars: Seq[Library] ) { val libraryClassLoader = new URLClassLoader(libraryJars.map(_.toURL).toArray, null) val compilerClassLoader = new URLClassLoader(compilerJars.map(_.toURL).toArray, libraryClassLoader) val expressionCompilerClassLoader = new URLClassLoader(Array(expressionCompilerJar.toURL), compilerClassLoader) - val unpicklerClassLoader = new URLClassLoader(unpicklerJars.map(_.toURL).toArray, null) + val decoderClassLoader = new URLClassLoader(decoderJars.map(_.toURL).toArray, null) def compile( classDir: Path, diff --git a/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/TestingResolver.scala b/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/TestingResolver.scala index 156dbdab5..f689aee65 100644 --- a/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/TestingResolver.scala +++ b/modules/tests/src/main/scala/ch/epfl/scala/debugadapter/testfmk/TestingResolver.scala @@ -74,8 +74,8 @@ object TestingResolver extends DebugToolsResolver { override def resolveExpressionCompiler(scalaVersion: ScalaVersion): Try[ClassLoader] = Try(get(scalaVersion).expressionCompilerClassLoader) - override def resolveUnpickler(scalaVersion: ScalaVersion): Try[ClassLoader] = - Try(get(scalaVersion).unpicklerClassLoader) + override def resolveDecoder(scalaVersion: ScalaVersion): Try[ClassLoader] = + Try(get(scalaVersion).decoderClassLoader) def get(scalaVersion: ScalaVersion): ScalaInstance = { if (!cache.contains(scalaVersion)) { @@ -110,8 +110,8 @@ object TestingResolver extends DebugToolsResolver { BuildInfo.version ) - val unpicklerDep = Dependency( - coursier.Module(Organization(BuildInfo.organization), ModuleName(s"${BuildInfo.unpicklerName}_3")), + val decoderDep = Dependency( + coursier.Module(Organization(BuildInfo.organization), ModuleName(s"${BuildInfo.decoderName}_3")), BuildInfo.version ) @@ -121,12 +121,12 @@ object TestingResolver extends DebugToolsResolver { ) val jars = fetch(expressionCompilerDep) - val unpicklerJars = fetch(unpicklerDep, tastyDep) + val decoderJars = fetch(decoderDep, tastyDep) val libraryJars = jars.filter(jar => jar.name.startsWith("scala-library") || jar.name.startsWith("scala3-library_3")) val expressionCompilerJar = jars.find(jar => jar.name.startsWith(expressionCompilerArtifact)).get val compilerJars = jars.filter(jar => !libraryJars.contains(jar) && jar != expressionCompilerJar) - new Scala3Instance(libraryJars, compilerJars, expressionCompilerJar, unpicklerJars) + new Scala3Instance(libraryJars, compilerJars, expressionCompilerJar, decoderJars) } } diff --git a/modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2UnpicklerTests.scala b/modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2DecoderTests.scala similarity index 83% rename from modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2UnpicklerTests.scala rename to modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2DecoderTests.scala index 20ee85c0d..9994375e4 100644 --- a/modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2UnpicklerTests.scala +++ b/modules/tests/src/test/scala/ch/epfl/scala/debugadapter/internal/stacktrace/Scala2DecoderTests.scala @@ -8,10 +8,10 @@ import ch.epfl.scala.debugadapter.internal.SourceLookUpProvider import ch.epfl.scala.debugadapter.testfmk.NoopLogger import munit.FunSuite -class Scala213UnpicklerTests extends Scala2UnpicklerTests(ScalaVersion.`2.13`) -class Scala212UnpicklerTests extends Scala2UnpicklerTests(ScalaVersion.`2.12`) +class Scala213DecoderTests extends Scala2DecoderTests(ScalaVersion.`2.13`) +class Scala212DecoderTests extends Scala2DecoderTests(ScalaVersion.`2.12`) -abstract class Scala2UnpicklerTests(scalaVersion: ScalaVersion) extends FunSuite { +abstract class Scala2DecoderTests(scalaVersion: ScalaVersion) extends FunSuite { def isScala213: Boolean = scalaVersion.isScala213 test("extract result types of all kind") { @@ -41,14 +41,14 @@ abstract class Scala2UnpicklerTests(scalaVersion: ScalaVersion) extends FunSuite |} |""".stripMargin val debuggee = TestingDebuggee.mainClass(source, "", scalaVersion) - val unpickler = new Scala2Unpickler(null, scalaVersion, NoopLogger, testMode = true) + val decoder = new Scala2Decoder(null, scalaVersion, NoopLogger, testMode = true) val scalaSig = decompile(debuggee, "example/Main.class") val methods = scalaSig.entries .collect { case m: MethodSymbol => m } .filter(m => m.isMethod) val returnTypes = methods - .map(m => unpickler.extractParametersAndReturnType(m.infoType)._2) + .map(m => decoder.extractParametersAndReturnType(m.infoType)._2) val returnThisType = returnTypes.find(_.isInstanceOf[ThisType]) assert(returnThisType.nonEmpty) @@ -83,7 +83,7 @@ abstract class Scala2UnpicklerTests(scalaVersion: ScalaVersion) extends FunSuite |} |""".stripMargin val debuggee = TestingDebuggee.mainClass(source, "", scalaVersion) - val unpickler = new Scala2Unpickler(null, scalaVersion, NoopLogger, testMode = true) + val decoder = new Scala2Decoder(null, scalaVersion, NoopLogger, testMode = true) val scalaSig = decompile(debuggee, "example/Main.class") val method = scalaSig.entries @@ -91,16 +91,16 @@ abstract class Scala2UnpicklerTests(scalaVersion: ScalaVersion) extends FunSuite .filter(m => m.isMethod) .find(_.name == "m") .get - val returnType = unpickler.extractParametersAndReturnType(method.infoType)._2 + val returnType = decoder.extractParametersAndReturnType(method.infoType)._2 assert(returnType.isInstanceOf[ConstantType]) } test("all Java types are known by the class loader") { val debuggee = TestingDebuggee.mainClass("", "", scalaVersion) val sourceLookUp = SourceLookUpProvider(debuggee.classEntries, NoopLogger) - val unpickler = new Scala2Unpickler(sourceLookUp, scalaVersion, NoopLogger, testMode = true) + val decoder = new Scala2Decoder(sourceLookUp, scalaVersion, NoopLogger, testMode = true) - unpickler.scalaAliasesToJavaTypes.values.foreach { javaClass => + decoder.scalaAliasesToJavaTypes.values.foreach { javaClass => assert(sourceLookUp.containsClass(javaClass)) } }