1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Nov 23 17:05:32 2014 +0100
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Nov 23 21:55:46 2014 +0100
1.3 @@ -296,6 +296,21 @@
1.4 append(accessClass("java_lang_Class(true);"));
1.5 append("\n CLS.$class.jvmName = '").append(cn).append("';");
1.6 append("\n CLS.$class.superclass = sprcls;");
1.7 + append("\n CLS.$class.interfaces = function() { return [");
1.8 + {
1.9 + boolean first = true;
1.10 + for (String intrfc : jc.getSuperInterfaces()) {
1.11 + if (!first) {
1.12 + append(",");
1.13 + }
1.14 + requireReference(intrfc);
1.15 + String mangledIface = mangleClassName(intrfc);
1.16 + append("\n ");
1.17 + append(accessClass(mangledIface)).append("(false).constructor.$class");
1.18 + first = false;
1.19 + }
1.20 + }
1.21 + append("\n ]; };");
1.22 append("\n CLS.$class.access = ").append(jc.getAccessFlags()+";");
1.23 append("\n CLS.$class.cnstr = CLS;");
1.24 byte[] classAnno = jc.findAnnotationData(false);