1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Thu Dec 06 22:02:10 2012 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Fri Dec 07 06:29:54 2012 +0100
1.3 @@ -31,6 +31,11 @@
1.4 super(out);
1.5 }
1.6
1.7 + static {
1.8 + // uses VMLazy to load dynamic classes
1.9 + VMLazy.init();
1.10 + }
1.11 +
1.12 static void compile(Appendable out, String... names) throws IOException {
1.13 compile(out, StringArray.asList(names));
1.14 }
1.15 @@ -113,9 +118,19 @@
1.16 }
1.17 }
1.18 out.append(
1.19 - " global.bck2brwsr = function() { return {\n"
1.20 - + " loadClass : function(name) { return vm[name.replace__Ljava_lang_String_2CC(name, '.','_')](true); }\n"
1.21 - + " };\n};\n");
1.22 + " global.bck2brwsr = function() {\n"
1.23 + + " var args = arguments;\n"
1.24 + + " var loader = {};\n"
1.25 + + " loader.vm = vm;\n"
1.26 + + " loader.loadClass = function(name) {\n"
1.27 + + " var attr = name.replace__Ljava_lang_String_2CC(name, '.','_');\n"
1.28 + + " var fn = vm[attr];\n"
1.29 + + " if (fn) return fn(false);\n"
1.30 + + " return vm.org_apidesign_vm4brwsr_VMLazy(false).\n"
1.31 + + " load___3Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2(loader, name, args);\n"
1.32 + + " }\n"
1.33 + + " return loader;\n"
1.34 + + " };\n");
1.35 out.append("}(this));");
1.36 }
1.37 private static void readResource(InputStream emul, Appendable out) throws IOException {