java/src/stx/libjava/groovy/GroovyClassLoader.java
author vranyj1
Thu, 15 Nov 2012 22:10:02 +0000
branchdirectory_structure_refactoring
changeset 1818 2e5ed72e7dfd
parent 1457 src/java/src/stx/libjava/groovy/GroovyClassLoader.java@fba314a596e8
child 2380 9195eccdcbd9
permissions -rw-r--r--
Directory structure refactoring (part 2)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1373
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     1
package stx.libjava.groovy;
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     2
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     3
import java.security.AccessController;
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     4
import java.security.PrivilegedAction;
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     5
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     6
import org.codehaus.groovy.control.CompilationUnit;
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     7
import org.codehaus.groovy.control.SourceUnit;
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     8
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
     9
public class GroovyClassLoader extends groovy.lang.GroovyClassLoader {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    10
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    11
	protected ClassCollector createCollector(CompilationUnit unit, SourceUnit su) {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    12
        InnerLoader loader = AccessController.doPrivileged(new PrivilegedAction<InnerLoader>() {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    13
            public InnerLoader run() {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    14
                return new InnerLoader(GroovyClassLoader.this);
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    15
            }
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    16
        });
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    17
        return new SystemClassCollector(loader, unit, su);
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    18
    }
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    19
	
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    20
	public static class SystemClassCollector extends groovy.lang.GroovyClassLoader.ClassCollector  {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    21
		
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    22
		protected SystemClassCollector(InnerLoader cl, CompilationUnit unit, SourceUnit su) {
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    23
			super(cl, unit, su);
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    24
		}
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    25
		
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    26
		public native GroovyClassLoader getDefiningClassLoader();
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    27
				
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    28
	}	
4ead4b8163c0 Added Groovy support classloader
vranyj1
parents:
diff changeset
    29
}