# HG changeset patch # User Jaroslav Tulach # Date 1400753992 -7200 # Node ID 60dcb3d7a687f83f4e00b06a8222c4b63c4ca340 # Parent 7b6295731c30cc31c4af9c3c1da1caa87ce21981 Seek the class in VM as well as among exported symbols to allow calculator demo to start in full obfuscation mode diff -r 7b6295731c30 -r 60dcb3d7a687 javaquery/demo-calculator/pom.xml --- a/javaquery/demo-calculator/pom.xml Thu May 22 10:48:09 2014 +0200 +++ b/javaquery/demo-calculator/pom.xml Thu May 22 12:19:52 2014 +0200 @@ -12,7 +12,7 @@ UTF-8 - MINIMAL + FULL diff -r 7b6295731c30 -r 60dcb3d7a687 rt/emul/mini/src/main/java/java/lang/Class.java --- a/rt/emul/mini/src/main/java/java/lang/Class.java Thu May 22 10:48:09 2014 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java Thu May 22 12:19:52 2014 +0200 @@ -238,14 +238,18 @@ } @JavaScriptBody(args = {"n", "c" }, body = - "if (!vm[c]) {\n" - + " if (vm.loadClass) {\n" - + " vm.loadClass(n);\n" + "var m = vm[c];\n" + + "if (!m) {\n" + + " var l = vm.loadClass ? vm.loadClass : exports ? exports.loadClass : null;\n" + + " if (l) {\n" + + " l(n);\n" + " }\n" - + " if (!vm[c]) return null;\n" + + " if (vm[c]) m = vm[c];\n" + + " else if (exports[c]) m = exports[c];\n" + "}\n" - + "vm[c](false);" - + "return vm[c].$class;" + + "if (!m) return null;" + + "m(false);" + + "return m.$class;" ) private static native Class loadCls(String n, String c);