Skip to content

Commit 3a33723

Browse files
committed
Removed hardcoded strings, optimized algebras and cleaning code
1 parent ebdda1c commit 3a33723

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

src/main/scala/org/scalaexercises/exercises/Exercises.scala

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@ import java.io.File
2626

2727
import cats.implicits._
2828
import org.clapper.classutil.ClassFinder
29-
import org.objectweb.asm.Opcodes
3029
import org.scalaexercises.evaluator.types.Dependency
3130
import org.scalaexercises.runtime.model._
3231

33-
import scala.util.{Failure, Success, Try}
32+
import scala.util.Try
3433

3534
object Exercises {
3635
val LIBRARIES_PACKAGE = "org.scalaexercises.content"
@@ -40,14 +39,9 @@ object Exercises {
4039
.asInstanceOf[URLClassLoader]
4140
.getURLs
4241
.map(url => new File(url.getFile)) filter (f f.exists())
43-
val classFinder = ClassFinder(files, Some(Opcodes.ASM7))
42+
val classFinder = ClassFinder(files)
4443
val classes = classFinder.getClasses
45-
.filter(ci =>
46-
Try(ci.name
47-
.startsWith(LIBRARIES_PACKAGE) || ci.name == "org.scalaexercises.runtime.model.Library") match {
48-
case Success(value) => value
49-
case Failure(_) => false
50-
})
44+
.filter(Try(_).isSuccess)
5145
.toList
5246
ClassFinder.classInfoMap(classes.iterator)
5347
}
@@ -58,11 +52,9 @@ object Exercises {
5852
case None acc
5953
case Some(cll: URLClassLoader)
6054
val cn = ClassFinder
61-
.concreteSubclasses("org.scalaexercises.runtime.model.Library", classMap(cll))
62-
.map { classInfo =>
63-
println(classInfo)
64-
classInfo.name
65-
}
55+
.concreteSubclasses(implicitly[ClassTag[A]].runtimeClass.getName, classMap(cll))
56+
.filter(_.name.startsWith(LIBRARIES_PACKAGE))
57+
.map(_.name)
6658
.toList
6759
loop(currentClassLoader.getParent, acc ++ cn)
6860
case Some(o) loop(o.getParent, acc)

0 commit comments

Comments
 (0)