diff -r aef4fd91e99c -r 2c0646d78e68 emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Thu Jan 10 20:15:11 2013 +0100 +++ b/emul/src/main/java/java/lang/Class.java Sat Jan 12 18:18:25 2013 +0100 @@ -269,7 +269,15 @@ * * @since JDK1.1 */ - public native boolean isInstance(Object obj); + public boolean isInstance(Object obj) { + String prop = "$instOf_" + getName().replace('.', '_'); + return hasProperty(obj, prop); + } + + @JavaScriptBody(args = { "who", "prop" }, body = + "if (who[prop]) return true; else return false;" + ) + private static native boolean hasProperty(Object who, String prop); /**