Class JeoClassLoader

java.lang.Object
java.lang.ClassLoader
org.eolang.jeo.JeoClassLoader

public final class JeoClassLoader extends ClassLoader
JEO class loader.

This classloader reads classes from specified directories, loads them into memory, and makes them available for class loading operations. This happens before any transformations are applied.

Preloading allows safe class validation. The validator loads "old" classes and uses them for the validation of the "newly" generated classes. Moreover, by using JeoClassLoader, we can guarantee that the classes loaded before any transformations are correct.

If we use any other ClassLoader implementation it leads to flaky tests as issue 672 shows.

Since:
0.6.0