diff -r 2e2e6f946208 -r 1848c77df886 emul/src/main/java/java/lang/Class.java --- a/emul/src/main/java/java/lang/Class.java Wed Dec 05 10:03:58 2012 +0100 +++ b/emul/src/main/java/java/lang/Class.java Sat Dec 15 07:10:58 2012 +0100 @@ -144,8 +144,18 @@ */ public static Class forName(String className) throws ClassNotFoundException { - throw new UnsupportedOperationException(); + Class c = loadCls(className.replace('.', '_')); + if (c == null) { + throw new ClassNotFoundException(); + } + return c; } + + @JavaScriptBody(args = "c", body = + "if (vm[c]) return vm[c].$class;" + + "else return null;" + ) + private static native Class loadCls(String c); /**