1.1 --- a/emul/src/main/java/java/lang/Class.java Sat Jan 12 17:35:01 2013 +0100
1.2 +++ b/emul/src/main/java/java/lang/Class.java Sat Jan 12 18:18:25 2013 +0100
1.3 @@ -269,7 +269,15 @@
1.4 *
1.5 * @since JDK1.1
1.6 */
1.7 - public native boolean isInstance(Object obj);
1.8 + public boolean isInstance(Object obj) {
1.9 + String prop = "$instOf_" + getName().replace('.', '_');
1.10 + return hasProperty(obj, prop);
1.11 + }
1.12 +
1.13 + @JavaScriptBody(args = { "who", "prop" }, body =
1.14 + "if (who[prop]) return true; else return false;"
1.15 + )
1.16 + private static native boolean hasProperty(Object who, String prop);
1.17
1.18
1.19 /**
2.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Sat Jan 12 17:35:01 2013 +0100
2.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Sat Jan 12 18:18:25 2013 +0100
2.3 @@ -32,6 +32,16 @@
2.4 return "" + ("Hello".toCharArray()[0]);
2.5 }
2.6
2.7 + @Compare public String classCast() {
2.8 + Object o = firstChar();
2.9 + return String.class.cast(o);
2.10 + }
2.11 +
2.12 + @Compare public String classCastThrown() {
2.13 + Object o = null;
2.14 + return String.class.cast(o);
2.15 + }
2.16 +
2.17 @Compare public static Object compareURLs() throws MalformedURLException {
2.18 return new URL("http://apidesign.org:8080/wiki/").toExternalForm().toString();
2.19 }