package stx.libjava.groovy;
import java.security.AccessController;
import java.security.PrivilegedAction;
import org.codehaus.groovy.control.CompilationUnit;
import org.codehaus.groovy.control.SourceUnit;
public class GroovyClassLoader extends groovy.lang.GroovyClassLoader {
protected ClassCollector createCollector(CompilationUnit unit, SourceUnit su) {
InnerLoader loader = AccessController.doPrivileged(new PrivilegedAction<InnerLoader>() {
public InnerLoader run() {
return new InnerLoader(GroovyClassLoader.this);
}
});
return new SystemClassCollector(loader, unit, su);
}
public static class SystemClassCollector extends groovy.lang.GroovyClassLoader.ClassCollector {
protected SystemClassCollector(InnerLoader cl, CompilationUnit unit, SourceUnit su) {
super(cl, unit, su);
}
public native GroovyClassLoader getDefiningClassLoader();
}
}