emul/src/main/java/java/lang/Class.java
changeset 321 1848c77df886
parent 266 2e2e6f946208
child 322 3884815c0629
     1.1 --- a/emul/src/main/java/java/lang/Class.java	Wed Dec 05 10:03:58 2012 +0100
     1.2 +++ b/emul/src/main/java/java/lang/Class.java	Sat Dec 15 07:10:58 2012 +0100
     1.3 @@ -144,8 +144,18 @@
     1.4       */
     1.5      public static Class<?> forName(String className)
     1.6                  throws ClassNotFoundException {
     1.7 -        throw new UnsupportedOperationException();
     1.8 +        Class<?> c = loadCls(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 +    )
    1.19 +    private static native Class<?> loadCls(String c);
    1.20  
    1.21  
    1.22      /**