java/src/stx/libjava/groovy/GroovyClassLoader.java
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 20 Feb 2013 23:05:49 +0000
branchdevelopment
changeset 2380 9195eccdcbd9
parent 1818 2e5ed72e7dfd
parent 2353 fa7400d022a0
child 2565 cacefec17a70
permissions -rw-r--r--
Merged 08505399cea8 and 0adf7bbcf2c9 (branch default - CVS HEAD)

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