rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchNbHtml4J
changeset 1421 b8e33a00bfab
parent 1409 3d1612be40bc
child 1427 38f80da886d7
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Thu Nov 07 09:41:45 2013 +0100
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Thu Jan 09 08:21:26 2014 +0100
     1.3 @@ -1623,6 +1623,7 @@
     1.4              String[] args = new String[30];
     1.5              String body;
     1.6              boolean javacall;
     1.7 +            boolean html4j;
     1.8              
     1.9              @Override
    1.10              protected void visitAttr(String type, String attr, String at, String value) {
    1.11 @@ -1636,6 +1637,7 @@
    1.12                      }
    1.13                  }
    1.14                  if (type.equals(htmlType)) {
    1.15 +                    html4j = true;
    1.16                      if ("body".equals(attr)) {
    1.17                          body = value;
    1.18                      } else if ("args".equals(attr)) {
    1.19 @@ -1659,12 +1661,18 @@
    1.20          out.append(" = function(");
    1.21          String space = "";
    1.22          int index = 0;
    1.23 +        StringBuilder toValue = new StringBuilder();
    1.24          for (int i = 0; i < cnt.length(); i++) {
    1.25              out.append(space);
    1.26              space = outputArg(out, p.args, index);
    1.27 +            if (p.html4j && space.length() > 0) {
    1.28 +                toValue.append("\n  ").append(p.args[index]).append(" = vm.org_apidesign_bck2brwsr_emul_lang_System(false).toJS(").
    1.29 +                    append(p.args[index]).append(");");
    1.30 +            }
    1.31              index++;
    1.32          }
    1.33          out.append(") {").append("\n");
    1.34 +        out.append(toValue.toString());
    1.35          if (p.javacall) {
    1.36              int lastSlash = jc.getClassName().lastIndexOf('/');
    1.37              final String pkg = jc.getClassName().substring(0, lastSlash);