diff -r 6193e735f4d1 -r c4e57ec5f0df rt/vm/src/main/java/org/apidesign/vm4brwsr/VMLazy.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VMLazy.java Fri Oct 11 09:58:03 2013 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VMLazy.java Mon Oct 14 16:44:55 2013 +0200 @@ -42,6 +42,11 @@ throws IOException, ClassNotFoundException { return new VMLazy(loader, arguments).load(name, false); } + + static Object reload(Object loader, String name, Object[] arguments, byte[] arr) + throws IOException, ClassNotFoundException { + return new VMLazy(loader, arguments).defineClass(arr, name, false); + } static byte[] loadBytes(Object loader, String name, Object[] arguments) throws Exception { return Zips.loadFromCp(arguments, name); @@ -54,7 +59,11 @@ if (arr == null) { throw new ClassNotFoundException(name); } -// beingDefined(loader, name); + + return defineClass(arr, name, instance); + } + + private Object defineClass(byte[] arr, String name, boolean instance) throws IOException { StringBuilder out = new StringBuilder(65535); out.append("var loader = arguments[0];\n"); out.append("var vm = loader.vm;\n");