1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Mon Aug 27 05:08:30 2012 +0200
1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Mon Aug 27 05:17:08 2012 +0200
1.3 @@ -55,7 +55,7 @@
1.4 }
1.5 }
1.6 private void generateStaticMethod(Method m) throws IOException {
1.7 - out.append("function ").append(
1.8 + out.append("\nfunction ").append(
1.9 jc.getName().getExternalName().replace('.', '_')
1.10 ).append('_').append(
1.11 m.getName()
1.12 @@ -85,7 +85,6 @@
1.13 out.append(Integer.toString(code.getMaxStack()));
1.14 out.append(");\n");
1.15 produceCode(code.getByteCodes());
1.16 - out.append(";\nreturn 1;");
1.17 out.append("}");
1.18 }
1.19
1.20 @@ -97,17 +96,36 @@
1.21 switch (c) {
1.22 case ByteCodes.bc_aload_0:
1.23 case ByteCodes.bc_iload_0:
1.24 + case ByteCodes.bc_lload_0:
1.25 + case ByteCodes.bc_fload_0:
1.26 + case ByteCodes.bc_dload_0:
1.27 out.append("stack.push(arg0);");
1.28 break;
1.29 case ByteCodes.bc_aload_1:
1.30 case ByteCodes.bc_iload_1:
1.31 + case ByteCodes.bc_lload_1:
1.32 + case ByteCodes.bc_fload_1:
1.33 + case ByteCodes.bc_dload_1:
1.34 out.append("stack.push(arg1);");
1.35 break;
1.36 case ByteCodes.bc_iadd:
1.37 + case ByteCodes.bc_ladd:
1.38 + case ByteCodes.bc_fadd:
1.39 + case ByteCodes.bc_dadd:
1.40 out.append("stack.push(stack.pop() + stack.pop());");
1.41 break;
1.42 + case ByteCodes.bc_imul:
1.43 + case ByteCodes.bc_lmul:
1.44 + case ByteCodes.bc_fmul:
1.45 + case ByteCodes.bc_dmul:
1.46 + out.append("stack.push(stack.pop() * stack.pop());");
1.47 + break;
1.48 case ByteCodes.bc_ireturn:
1.49 + case ByteCodes.bc_lreturn:
1.50 + case ByteCodes.bc_freturn:
1.51 + case ByteCodes.bc_dreturn:
1.52 out.append("return stack.pop();");
1.53 + break;
1.54 }
1.55 out.append("/*");
1.56 for (int j = prev; j <= i; j++) {