1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Tue Nov 27 23:21:22 2012 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Wed Nov 28 00:25:57 2012 +0100
1.3 @@ -74,7 +74,8 @@
1.4 }
1.5 StringArray toInitilize = new StringArray();
1.6 final String className = className(jc);
1.7 - out.append("\n\nfunction ").append(className).append("() {");
1.8 + out.append("\n\n").append(className);
1.9 + out.append(" = function() {");
1.10 out.append("\n if (!").append(className).
1.11 append(".prototype.$instOf_").append(className).append(") {");
1.12 for (FieldData v : jc.getFields()) {
2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Tue Nov 27 23:21:22 2012 +0100
2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/VMLazyTest.java Wed Nov 28 00:25:57 2012 +0100
2.3 @@ -60,11 +60,12 @@
2.4 sb.append("\n var script = org_apidesign_vm4brwsr_VMLazy(true).toJavaScriptLjava_lang_StringAB(loader.get(res + '.class'));");
2.5 sb.append("\n try {");
2.6 sb.append("\n new Function(");
2.7 - sb.append("\n 'arguments[0][arguments[1]]=new lazyVM.prototype.Identity(' + script + ').call'");
2.8 + sb.append("\n 'arguments[0][arguments[1]]=' + script + ';'");
2.9 sb.append("\n )(self, name);");
2.10 sb.append("\n } catch (ex) {");
2.11 sb.append("\n throw 'Cannot compile ' + res + ' error: ' + ex + ' script:\\n' + script;");
2.12 sb.append("\n };");
2.13 + sb.append("\n return self[name](true);");
2.14 sb.append("\n };");
2.15 sb.append("\n");
2.16 sb.append("\n}\n");
2.17 @@ -79,7 +80,7 @@
2.18
2.19 @Test public void invokeStaticMethod() throws Exception {
2.20 assertExec("Trying to get -1", "test", Double.valueOf(-1),
2.21 - "org/apidesign/vm4brwsr/StaticMethod", "org_apidesign_vm4brwsr_StaticMethod", "minusOne"
2.22 + "org/apidesign/vm4brwsr/StaticMethod", "org_apidesign_vm4brwsr_StaticMethod", "minusOneI"
2.23 );
2.24 }
2.25