src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java
changeset 11 eca88b77b986
parent 10 e84d9314f1bc
child 12 282828609b86
     1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Sun Sep 16 18:35:16 2012 +0200
     1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Wed Sep 19 18:53:16 2012 +0200
     1.3 @@ -531,6 +531,11 @@
     1.4          boolean[] hasReturn = { false };
     1.5          int[] cnt = { 0 };
     1.6          String mn = findMethodName(mi, cnt, hasReturn);
     1.7 +        out.append("{ ");
     1.8 +        for (int j = cnt[0] - 1; j >= 0; j--) {
     1.9 +            out.append("var v" + j).append(" = stack.pop(); ");
    1.10 +        }
    1.11 +        
    1.12          if (hasReturn[0]) {
    1.13              out.append("stack.push(");
    1.14          }
    1.15 @@ -545,14 +550,14 @@
    1.16          }
    1.17          for (int j = 0; j < cnt[0]; j++) {
    1.18              out.append(sep);
    1.19 -            out.append("stack.pop()");
    1.20 +            out.append("v" + j);
    1.21              sep = ", ";
    1.22          }
    1.23          out.append(")");
    1.24          if (hasReturn[0]) {
    1.25              out.append(")");
    1.26          }
    1.27 -        out.append(";");
    1.28 +        out.append("; }");
    1.29          i += 2;
    1.30          return i;
    1.31      }