package me.tomassetti.turin.classloading;
import me.tomassetti.jvm.JvmNameUtils;
/**
* ClassLoader used to load classes compiled from Turin.
*/
public class TurinClassLoader extends ClassLoader {
public Class<?> addClass(ClassFileDefinition classFileDefinition){
return addClass(classFileDefinition.getName(), classFileDefinition.getBytecode());
}
public Class<?> addClass(String name, byte[] bytecode){
if (!JvmNameUtils.isValidQualifiedName(name)) {
throw new IllegalArgumentException();
}
return defineClass(name, bytecode, 0, bytecode.length);
}
}