# HG changeset patch # User Jaroslav Tulach # Date 1458373539 -3600 # Node ID 6b74e398466d46a508f1b19a5b34ef3543c386b0 # Parent c4d37f95adf229300fcd209779a060ad0d5b32f5 Sometimes, when running on nashorn, the Class.forName could return an undefined symbol. Detecting such case and redoing the query seems to return things to normal. diff -r c4d37f95adf2 -r 6b74e398466d rt/emul/mini/src/main/java/java/lang/Class.java --- a/rt/emul/mini/src/main/java/java/lang/Class.java Sat Mar 05 10:28:10 2016 +0100 +++ b/rt/emul/mini/src/main/java/java/lang/Class.java Sat Mar 19 08:45:39 2016 +0100 @@ -165,7 +165,11 @@ return arrType; } try { - Class c = loadCls(className, className.replace('.', '_')); + final String inJsName = className.replace('.', '_'); + Class c = loadCls(className, inJsName); + if (c == null) { + c = loadCls(className, inJsName); + } if (c == null) { throw new ClassNotFoundException(className); } @@ -255,7 +259,7 @@ + "}\n" + "if (!m) return null;" + "m(false);" - + "return m.$class;" + + "return m.$class ? m.$class : null;" ) private static native Class loadCls(String n, String c);