diff -r d6d1fc565854 -r 0d32bf6b4436 rt/emul/mini/src/main/java/java/lang/Class.java --- a/rt/emul/mini/src/main/java/java/lang/Class.java Thu May 01 13:43:36 2014 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java Sun May 04 12:02:57 2014 +0200 @@ -1790,4 +1790,23 @@ + "}\n" ) static native int activate(); + + private static Object bck2BrwsrCnvrt(Object o) { + if (o instanceof Throwable) { + return o; + } + final String msg = msg(o); + if (msg == null || msg.startsWith("TypeError")) { + return new NullPointerException(msg); + } + return new Throwable(msg); + } + + @JavaScriptBody(args = {"o"}, body = "return o ? o.toString() : null;") + private static native String msg(Object o); + + @JavaScriptOnly(name = "bck2BrwsrThrwrbl", value = "c.bck2BrwsrCnvrt__Ljava_lang_Object_2Ljava_lang_Object_2") + private static void bck2BrwsrCnvrtVM() { + } + }