1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/VMLazy.java Sat Jan 26 08:47:05 2013 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/VMLazy.java Mon Feb 25 19:00:08 2013 +0100
1.3 @@ -20,6 +20,7 @@
1.4 import java.io.ByteArrayInputStream;
1.5 import java.io.IOException;
1.6 import java.io.InputStream;
1.7 +import java.lang.reflect.Array;
1.8 import org.apidesign.bck2brwsr.core.JavaScriptBody;
1.9
1.10 /**
1.11 @@ -38,23 +39,19 @@
1.12 static void init() {
1.13 }
1.14
1.15 - @JavaScriptBody(args={"l", "res", "args" }, body = ""
1.16 - + "\ntry {"
1.17 - + "\n return args[0](res.toString());"
1.18 - + "\n} catch (x) {"
1.19 - + "\n throw Object.getOwnPropertyNames(l.vm).toString() + x.toString();"
1.20 - + "\n}")
1.21 - private static native byte[] read(Object l, String res, Object[] args);
1.22 -
1.23 static Object load(Object loader, String name, Object[] arguments)
1.24 throws IOException, ClassNotFoundException {
1.25 return new VMLazy(loader, arguments).load(name, false);
1.26 }
1.27
1.28 + static byte[] loadBytes(Object loader, String name, Object[] arguments) throws Exception {
1.29 + return Zips.loadFromCp(arguments, name);
1.30 + }
1.31 +
1.32 private Object load(String name, boolean instance)
1.33 throws IOException, ClassNotFoundException {
1.34 String res = name.replace('.', '/') + ".class";
1.35 - byte[] arr = read(loader, res, args);
1.36 + byte[] arr = Zips.loadFromCp(args, res);
1.37 if (arr == null) {
1.38 throw new ClassNotFoundException(name);
1.39 }