@@ -26,11 +26,10 @@ import java.io.File
26
26
27
27
import cats .implicits ._
28
28
import org .clapper .classutil .ClassFinder
29
- import org .objectweb .asm .Opcodes
30
29
import org .scalaexercises .evaluator .types .Dependency
31
30
import org .scalaexercises .runtime .model ._
32
31
33
- import scala .util .{ Failure , Success , Try }
32
+ import scala .util .Try
34
33
35
34
object Exercises {
36
35
val LIBRARIES_PACKAGE = " org.scalaexercises.content"
@@ -40,14 +39,9 @@ object Exercises {
40
39
.asInstanceOf [URLClassLoader ]
41
40
.getURLs
42
41
.map(url => new File (url.getFile)) filter (f ⇒ f.exists())
43
- val classFinder = ClassFinder (files, Some ( Opcodes . ASM7 ) )
42
+ val classFinder = ClassFinder (files)
44
43
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)
51
45
.toList
52
46
ClassFinder .classInfoMap(classes.iterator)
53
47
}
@@ -58,11 +52,9 @@ object Exercises {
58
52
case None ⇒ acc
59
53
case Some (cll : URLClassLoader ) ⇒
60
54
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)
66
58
.toList
67
59
loop(currentClassLoader.getParent, acc ++ cn)
68
60
case Some (o) ⇒ loop(o.getParent, acc)
0 commit comments