1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Wed Sep 19 19:29:05 2012 +0200
1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Wed Sep 19 19:57:45 2012 +0200
1.3 @@ -26,6 +26,7 @@
1.4 import org.netbeans.modules.classfile.CPFieldInfo;
1.5 import org.netbeans.modules.classfile.CPMethodInfo;
1.6 import org.netbeans.modules.classfile.ClassFile;
1.7 +import org.netbeans.modules.classfile.ClassName;
1.8 import org.netbeans.modules.classfile.Code;
1.9 import org.netbeans.modules.classfile.Method;
1.10 import org.netbeans.modules.classfile.Parameter;
1.11 @@ -65,9 +66,11 @@
1.12 compiler.generateStaticField(v);
1.13 }
1.14 }
1.15 + out.append("function java_lang_Object(){}\n"); // XXX temporary
1.16 out.append("function java_lang_Object_consV(self){}\n"); // XXX temporary
1.17
1.18 - out.append("\nfunction ").append(jc.getName().getExternalName().replace('.', '_'));
1.19 + final String className = jc.getName().getExternalName().replace('.', '_');
1.20 + out.append("\nfunction ").append(className);
1.21 out.append("() {");
1.22 for (Method m : jc.getMethods()) {
1.23 if (!m.isStatic()) {
1.24 @@ -80,6 +83,11 @@
1.25 }
1.26 }
1.27 out.append("\n}");
1.28 + ClassName sc = jc.getSuperClass();
1.29 + if (sc != null) {
1.30 + out.append("\n ").append(className)
1.31 + .append(".prototype = new ").append(sc.getExternalName().replace('.', '_'));
1.32 + }
1.33 }
1.34 private void generateStaticMethod(Method m) throws IOException {
1.35 out.append("\nfunction ").append(