@@ -26,11 +26,10 @@ import java.io.File
2626
2727import cats .implicits ._
2828import org .clapper .classutil .ClassFinder
29- import org .objectweb .asm .Opcodes
3029import org .scalaexercises .evaluator .types .Dependency
3130import org .scalaexercises .runtime .model ._
3231
33- import scala .util .{ Failure , Success , Try }
32+ import scala .util .Try
3433
3534object 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