rt/emul/mini/src/main/java/java/lang/Class.java
branchclosure
changeset 1585 60dcb3d7a687
parent 1532 10d26626c426
child 1586 d4ee65642d8d
     1.1 --- a/rt/emul/mini/src/main/java/java/lang/Class.java	Tue May 06 08:36:54 2014 +0200
     1.2 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java	Thu May 22 12:19:52 2014 +0200
     1.3 @@ -238,14 +238,18 @@
     1.4      }
     1.5      
     1.6      @JavaScriptBody(args = {"n", "c" }, body =
     1.7 -        "if (!vm[c]) {\n"
     1.8 -      + "  if (vm.loadClass) {\n"
     1.9 -      + "    vm.loadClass(n);\n"
    1.10 +        "var m = vm[c];\n"
    1.11 +      + "if (!m) {\n"
    1.12 +      + "  var l = vm.loadClass ? vm.loadClass : exports ? exports.loadClass : null;\n"
    1.13 +      + "  if (l) {\n"
    1.14 +      + "    l(n);\n"
    1.15        + "  }\n"
    1.16 -      + "  if (!vm[c]) return null;\n"
    1.17 +      + "  if (vm[c]) m = vm[c];\n"
    1.18 +      + "  else if (exports[c]) m = exports[c];\n"
    1.19        + "}\n"
    1.20 -      + "vm[c](false);"
    1.21 -      + "return vm[c].$class;"
    1.22 +      + "if (!m) return null;"
    1.23 +      + "m(false);"
    1.24 +      + "return m.$class;"
    1.25      )
    1.26      private static native Class<?> loadCls(String n, String c);
    1.27