src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java
changeset 17 cb0cfba1b863
parent 16 6e8e00258234
child 18 361b76189f8d
     1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Thu Sep 20 10:26:59 2012 +0200
     1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java	Thu Sep 20 10:39:54 2012 +0200
     1.3 @@ -82,6 +82,7 @@
     1.4                  out.append("\n  this." + v.getName() + " = 0;");
     1.5              }
     1.6          }
     1.7 +        out.append("\n  this.$instOf_").append(className).append(" = true;");
     1.8          out.append("\n}");
     1.9          ClassName sc = jc.getSuperClass();
    1.10          if (sc != null) {
    1.11 @@ -446,6 +447,14 @@
    1.12                      i += 2;
    1.13                      break;
    1.14                  }
    1.15 +                case bc_instanceof: {
    1.16 +                    int indx = readIntArg(byteCodes, i);
    1.17 +                    CPClassInfo ci = jc.getConstantPool().getClass(indx);
    1.18 +                    out.append("stack.push(stack.pop().$instOf_")
    1.19 +                       .append(ci.getClassName().getExternalName().replace('.', '_'))
    1.20 +                       .append(" ? 1 : 0);");
    1.21 +                    i += 2;
    1.22 +                }
    1.23                      
    1.24              }
    1.25              out.append(" /*");