Don't instantiate new object, when only requesting prototype. use CLS(false).
1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Nov 29 11:07:05 2012 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Nov 29 22:03:11 2012 +0100
1.3 @@ -124,7 +124,7 @@
1.4 }
1.5 out.append("\n return this;");
1.6 out.append("\n }");
1.7 - out.append("\n return new CLS;");
1.8 + out.append("\n return arguments[0] ? new CLS() : CLS.prototype;");
1.9 out.append("\n}");
1.10 StringBuilder sb = new StringBuilder();
1.11 for (String init : toInitilize.toArray()) {
1.12 @@ -140,7 +140,7 @@
1.13 final String mn = findMethodName(m, argsCnt);
1.14 out.append(prefix).append(mn).append(" = function");
1.15 if (mn.equals("classV")) {
1.16 - toInitilize.add(className(jc) + "(true)." + mn);
1.17 + toInitilize.add(className(jc) + "(false)." + mn);
1.18 }
1.19 out.append('(');
1.20 String space = "";
1.21 @@ -886,7 +886,7 @@
1.22 }
1.23 final String in = mi[0];
1.24 out.append(in.replace('/', '_'));
1.25 - out.append("(true).");
1.26 + out.append("(false).");
1.27 out.append(mn);
1.28 out.append('(');
1.29 String sep = "";