rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
branchLibraries
changeset 1971 de609e0cdab5
parent 1969 51183f00d2df
child 1972 a83ae75ebf89
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Wed Jun 08 07:08:52 2016 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Fri Jun 10 05:52:44 2016 +0200
     1.3 @@ -1491,12 +1491,16 @@
     1.4                      int indx = readUShortArg(byteCodes, i);
     1.5                      String[] fi = jc.getFieldInfoName(indx);
     1.6                      final int type = VarType.fromFieldType(fi[2].charAt(0));
     1.7 -                    String ac = accessClassFalse(mangleClassName(fi[0]));
     1.8 -                    FieldData field = findField(fi);
     1.9 -                    String af = accessField(ac, field, fi);
    1.10 -                    smapper.assign(this, type, af + "()");
    1.11 +                    if (DirectlLibraries.isScriptLibrary(fi[0]) && fi[0].endsWith("/Exports")) {
    1.12 +                        smapper.assign(this, type, fi[1]);
    1.13 +                    } else {
    1.14 +                        String ac = accessClassFalse(mangleClassName(fi[0]));
    1.15 +                        FieldData field = findField(fi);
    1.16 +                        String af = accessField(ac, field, fi);
    1.17 +                        smapper.assign(this, type, af + "()");
    1.18 +                        addReference(fi[0]);
    1.19 +                    }
    1.20                      i += 2;
    1.21 -                    addReference(fi[0]);
    1.22                      break;
    1.23                  }
    1.24                  case opc_putstatic: {