rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchLibraries
changeset 1965 973e52d4cabb
parent 1962 9d46ae9d4a2e
child 1966 80851e48a68f
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue May 10 04:52:05 2016 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Tue Jun 07 06:20:20 2016 +0200
     1.3 @@ -1823,18 +1823,25 @@
     1.4              in.equals("org/netbeans/html/boot/spi/Fn")
     1.5          )) {
     1.6              mcn = "java_lang_Class";
     1.7 +        } else if (in.startsWith("net/java/html/lib/") && in.endsWith("/Exports")) {
     1.8 +            append(mi[1]);
     1.9 +            append('(');
    1.10 +            mcn = null;
    1.11          } else {
    1.12              mcn = mangleClassName(in);
    1.13          }
    1.14 -        String object = accessClassFalse(mcn);
    1.15 -        if (mn.startsWith("cons_")) {
    1.16 -            object += ".constructor";
    1.17 -        }
    1.18 -        append(accessStaticMethod(object, mn, mi));
    1.19 -        if (isStatic) {
    1.20 -            append('(');
    1.21 -        } else {
    1.22 -            append(".call(");
    1.23 +        if (mcn != null) {
    1.24 +            String object = accessClassFalse(mcn);
    1.25 +            if (mn.startsWith("cons_")) {
    1.26 +                object += ".constructor";
    1.27 +            }
    1.28 +            append(accessStaticMethod(object, mn, mi));
    1.29 +            if (isStatic) {
    1.30 +                append('(');
    1.31 +            } else {
    1.32 +                append(".call(");
    1.33 +            }
    1.34 +            addReference(in);
    1.35          }
    1.36          if (numArguments > 0) {
    1.37              append(vars[0]);
    1.38 @@ -1845,7 +1852,6 @@
    1.39          }
    1.40          append(");");
    1.41          i += 2;
    1.42 -        addReference(in);
    1.43          return i;
    1.44      }
    1.45      private int invokeVirtualMethod(byte[] byteCodes, int i, final StackMapper mapper)