1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Apr 30 15:04:10 2014 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Apr 30 15:57:56 2014 +0200
1.3 @@ -1586,7 +1586,7 @@
1.4 }
1.5
1.6 final String in = mi[0];
1.7 - String object = accessClass(in.replace('/', '_')) + "(false)";
1.8 + String object = accessClass(mangleClassName(in)) + "(false)";
1.9 if (mn.startsWith("cons_")) {
1.10 object += ".constructor";
1.11 }
2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed Apr 30 15:04:10 2014 +0200
2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Wed Apr 30 15:57:56 2014 +0200
2.3 @@ -486,6 +486,10 @@
2.4 " return vm;\n"
2.5 + " };\n"
2.6 + " var extensions = [];\n"
2.7 + + " function mangleClass(name) {\n"
2.8 + + " return name.replace__Ljava_lang_String_2Ljava_lang_CharSequence_2Ljava_lang_CharSequence_2(\n"
2.9 + + " '_', '_1').replace__Ljava_lang_String_2CC('.','_');\n"
2.10 + + " };\n"
2.11 + " global.bck2brwsr = function() {\n"
2.12 + " var args = Array.prototype.slice.apply(arguments);\n"
2.13 + " var resources = {};\n"
2.14 @@ -509,7 +513,7 @@
2.15 + " var loader = {};\n"
2.16 + " loader.vm = vm;\n"
2.17 + " loader.loadClass = function(name) {\n"
2.18 - + " var attr = name.replace__Ljava_lang_String_2CC('.','_');\n"
2.19 + + " var attr = mangleClass(name);\n"
2.20 + " var fn = vm[attr];\n"
2.21 + " if (fn) return fn(false);\n"
2.22 + " try {\n"
2.23 @@ -530,6 +534,12 @@
2.24 + " throw 'Cannot initialize the bck2brwsr VM twice!';\n"
2.25 + " }\n"
2.26 + " vm.loadClass = loader.loadClass;\n"
2.27 + + " vm._reload = function(name, byteCode) {;\n"
2.28 + + " var attr = mangleClass(name);\n"
2.29 + + " delete vm[attr];\n"
2.30 + + " return vm.org_apidesign_vm4brwsr_VMLazy(false).\n"
2.31 + + " reload__Ljava_lang_Object_2Ljava_lang_Object_2Ljava_lang_String_2_3Ljava_lang_Object_2_3B(loader, name, args, byteCode);\n"
2.32 + + " };\n"
2.33 + " vm.loadBytes = function(name, skip) {\n"
2.34 + " if (resources[name]) return resources[name][0];\n"
2.35 + " return vm.org_apidesign_vm4brwsr_VMLazy(false).\n"