--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/java/src/stx/libjava/groovy/GroovyClassLoader.java Thu Nov 15 22:10:02 2012 +0000
@@ -0,0 +1,29 @@
+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();
+
+ }
+}