# HG changeset patch # User Jaroslav Tulach # Date 1348812005 -7200 # Node ID a36c17ff633117dc9e2239369e0c4dc21b94781b # Parent 0c5879b7a1a42115499d4395a1791ba9d21f6991 instanceOf can also be handled on the level of prototype diff -r 0c5879b7a1a4 -r a36c17ff6331 vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Sep 28 07:55:15 2012 +0200 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Fri Sep 28 08:00:05 2012 +0200 @@ -95,10 +95,6 @@ out.append("\n this." + v.getName() + " = 0;"); } } - out.append("\n this.$instOf_").append(className).append(" = true;"); - for (ClassName superInterface : jc.getInterfaces()) { - out.append("\n this.$instOf_").append(superInterface.getInternalName().replace('/', '_')).append(" = true;"); - } out.append("\n}"); ClassName sc = jc.getSuperClass(); if (sc != null) { @@ -110,6 +106,10 @@ compiler.generateMethodReference("\n" + className + ".prototype.", m); } } + out.append("\n" + className + ".prototype.$instOf_").append(className).append(" = true;"); + for (ClassName superInterface : jc.getInterfaces()) { + out.append("\n" + className + ".prototype.$instOf_").append(superInterface.getInternalName().replace('/', '_')).append(" = true;"); + } for (String init : toInitilize) { out.append("\n").append(init).append("();"); }