Fixing a bug: java LinkedList needs removeFirst(), not getFirst() to get and remove...
[jpf-core.git] / examples / ClassLoaderTest.java
1 import org.objectweb.asm.Opcodes;
2 import org.objectweb.asm.ClassWriter;
3 import org.objectweb.asm.MethodVisitor;
4
5 import java.util.Map;
6 import java.util.HashMap;
7 import java.lang.ClassLoader;
8
9 public class ClassLoaderTest {
10     private void loadMagic() {
11         ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
12         cw.visit(Opcodes.V1_4, Opcodes.ACC_PUBLIC, "sun/reflect/GroovyMagic", null, "sun/reflect/MagicAccessorImpl", null);
13         MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "()V", null, null);
14         mv.visitCode();
15         mv.visitVarInsn(ALOAD, 0);
16         mv.visitMethodInsn(INVOKESPECIAL, "sun/reflect/MagicAccessorImpl", "<init>", "()V", false);
17         mv.visitInsn(RETURN);
18         mv.visitMaxs(0,0);
19         mv.visitEnd();
20         cw.visitEnd();
21
22         define(cw.toByteArray(), "sun.reflect.GroovyMagic");
23     }
24
25     protected void define(byte[] bytes, final String name) {
26         //knownClasses.put(name, defineClass(name, bytes, 0, bytes.length));
27         Class cls = defineClass(name, bytes, 0, bytes.length);
28     }
29
30     protected final Map<String,Class> knownClasses = new HashMap<String,Class>();
31
32     public static void main(String[] args) {
33                 
34                 
35         ClassLoader cl = new ClassLoader();
36         Class cls = defineClass(name, bytes, 0, bytes.length);
37     }
38 }