diff -r 6e8e00258234 -r cb0cfba1b863 src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Thu Sep 20 10:26:59 2012 +0200 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Thu Sep 20 10:39:54 2012 +0200 @@ -82,6 +82,7 @@ out.append("\n this." + v.getName() + " = 0;"); } } + out.append("\n this.$instOf_").append(className).append(" = true;"); out.append("\n}"); ClassName sc = jc.getSuperClass(); if (sc != null) { @@ -446,6 +447,14 @@ i += 2; break; } + case bc_instanceof: { + int indx = readIntArg(byteCodes, i); + CPClassInfo ci = jc.getConstantPool().getClass(indx); + out.append("stack.push(stack.pop().$instOf_") + .append(ci.getClassName().getExternalName().replace('.', '_')) + .append(" ? 1 : 0);"); + i += 2; + } } out.append(" /*");