From e738c8970f65a3a6578ed88ba0d19f726a80b4dd Mon Sep 17 00:00:00 2001 From: Nathaniel Bauernfeind Date: Tue, 24 Aug 2021 00:27:29 -0600 Subject: [PATCH 1/2] fix ImportData.ImportType use of sealed --- .../src/main/scala/ammonite/util/Imports.scala | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/amm/util/src/main/scala/ammonite/util/Imports.scala b/amm/util/src/main/scala/ammonite/util/Imports.scala index cd2d8caf7..fcf133cf1 100644 --- a/amm/util/src/main/scala/ammonite/util/Imports.scala +++ b/amm/util/src/main/scala/ammonite/util/Imports.scala @@ -55,10 +55,18 @@ case class ImportData(fromName: Name, object ImportData{ - sealed case class ImportType(name: String) - val Type = ImportType("Type") - val Term = ImportType("Term") - val TermType = ImportType("TermType") + sealed trait ImportType { + def name: String + } + case object Type extends ImportType { + def name = "Type" + } + case object Term extends ImportType { + def name = "Term" + } + case object TermType extends ImportType { + def name = "TermType" + } def apply(name: String, importType: ImportType = Term): Seq[ImportData] = { val elements = name.split('.') From 37402eca767307a75b60dae74f07f18f71a47622 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 3 Nov 2021 14:13:02 +0100 Subject: [PATCH 2/2] Use constructor param / extend Product & Serializable --- .../src/main/scala/ammonite/util/Imports.scala | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/amm/util/src/main/scala/ammonite/util/Imports.scala b/amm/util/src/main/scala/ammonite/util/Imports.scala index fcf133cf1..69f6e7721 100644 --- a/amm/util/src/main/scala/ammonite/util/Imports.scala +++ b/amm/util/src/main/scala/ammonite/util/Imports.scala @@ -55,18 +55,10 @@ case class ImportData(fromName: Name, object ImportData{ - sealed trait ImportType { - def name: String - } - case object Type extends ImportType { - def name = "Type" - } - case object Term extends ImportType { - def name = "Term" - } - case object TermType extends ImportType { - def name = "TermType" - } + sealed abstract class ImportType(val name: String) extends Product with Serializable + case object Type extends ImportType("Type") + case object Term extends ImportType("Term") + case object TermType extends ImportType("TermType") def apply(name: String, importType: ImportType = Term): Seq[ImportData] = { val elements = name.split('.')