1.1 --- a/emul/src/main/java/java/lang/Class.java Sat Dec 15 07:10:58 2012 +0100
1.2 +++ b/emul/src/main/java/java/lang/Class.java Sat Dec 15 08:17:45 2012 +0100
1.3 @@ -144,18 +144,22 @@
1.4 */
1.5 public static Class<?> forName(String className)
1.6 throws ClassNotFoundException {
1.7 - Class<?> c = loadCls(className.replace('.', '_'));
1.8 + Class<?> c = loadCls(className, className.replace('.', '_'));
1.9 if (c == null) {
1.10 throw new ClassNotFoundException();
1.11 }
1.12 return c;
1.13 }
1.14
1.15 - @JavaScriptBody(args = "c", body =
1.16 - "if (vm[c]) return vm[c].$class;"
1.17 - + "else return null;"
1.18 + @JavaScriptBody(args = {"n", "c" }, body =
1.19 + "if (vm[c]) return vm[c].$class;\n"
1.20 + + "if (vm.loadClass) {\n"
1.21 + + " vm.loadClass(n);\n"
1.22 + + " if (vm[c]) return vm[c].$class;\n"
1.23 + + "}\n"
1.24 + + "return null;"
1.25 )
1.26 - private static native Class<?> loadCls(String c);
1.27 + private static native Class<?> loadCls(String n, String c);
1.28
1.29
1.30 /**