java/src/stx/libjava/groovy/GroovyClassLoader.java
branchdirectory_structure_refactoring
changeset 1818 2e5ed72e7dfd
parent 1457 fba314a596e8
child 2380 9195eccdcbd9
--- /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();
+				
+	}	
+}