java/src/stx/libjava/groovy/GroovyClassLoader.java
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 16 Feb 2013 19:08:45 +0100
changeset 2353 fa7400d022a0
child 2380 9195eccdcbd9
child 2678 c865275e48a7
permissions -rw-r--r--
Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e

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();
				
	}	
}