1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri Apr 26 18:48:34 2013 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon May 06 11:57:29 2013 +0200
1.3 @@ -20,6 +20,8 @@
1.4 import java.io.IOException;
1.5 import java.io.InputStream;
1.6 import org.apidesign.vm4brwsr.ByteCodeParser.ClassData;
1.7 +import org.apidesign.vm4brwsr.ByteCodeParser.FieldData;
1.8 +import org.apidesign.vm4brwsr.ByteCodeParser.MethodData;
1.9
1.10 /** Generator of JavaScript from bytecode of classes on classpath of the VM.
1.11 *
1.12 @@ -87,6 +89,33 @@
1.13 }
1.14 }
1.15
1.16 + @Override
1.17 + protected void declaredField(FieldData fieldData,
1.18 + String destObject,
1.19 + String mangledName) throws IOException {
1.20 + if (exportedSymbols.isExported(fieldData)) {
1.21 + exportMember(destObject, mangledName);
1.22 + }
1.23 + }
1.24 +
1.25 + @Override
1.26 + protected void declaredMethod(MethodData methodData,
1.27 + String destObject,
1.28 + String mangledName) throws IOException {
1.29 + if (exportedSymbols.isExported(methodData)) {
1.30 + exportMember(destObject, mangledName);
1.31 + }
1.32 + }
1.33 +
1.34 + private void exportMember(String destObject, String memberName)
1.35 + throws IOException {
1.36 + out.append("\n").append(destObject).append("['")
1.37 + .append(memberName)
1.38 + .append("'] = ")
1.39 + .append(destObject).append(".").append(memberName)
1.40 + .append(";\n");
1.41 + }
1.42 +
1.43 private void generateBody(StringArray names) throws IOException {
1.44 StringArray processed = new StringArray();
1.45 StringArray initCode = new StringArray();