diff -r 489fe829817f -r 86e61729f754 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Nov 23 17:05:32 2014 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sun Nov 23 21:55:46 2014 +0100 @@ -296,6 +296,21 @@ append(accessClass("java_lang_Class(true);")); append("\n CLS.$class.jvmName = '").append(cn).append("';"); append("\n CLS.$class.superclass = sprcls;"); + append("\n CLS.$class.interfaces = function() { return ["); + { + boolean first = true; + for (String intrfc : jc.getSuperInterfaces()) { + if (!first) { + append(","); + } + requireReference(intrfc); + String mangledIface = mangleClassName(intrfc); + append("\n "); + append(accessClass(mangledIface)).append("(false).constructor.$class"); + first = false; + } + } + append("\n ]; };"); append("\n CLS.$class.access = ").append(jc.getAccessFlags()+";"); append("\n CLS.$class.cnstr = CLS;"); byte[] classAnno = jc.findAnnotationData(false);