@Override protected IClass findIClass(String descriptor) throws ClassNotFoundException { Class clazz; try { // // See also [ 931385 ] Janino 2.0 throwing exception on arrays of java.io.File: // // "ClassLoader.loadClass()" and "Class.forName()" should be identical, // but "ClassLoader.loadClass("[Ljava.lang.Object;")" throws a // ClassNotFoundException under JDK 1.5.0 beta. // Unclear whether this a beta version bug and SUN will fix this in the final // release, but "Class.forName()" seems to work fine in all cases, so we // use that. // // clazz = this.classLoader.loadClass(Descriptor.toClassName(descriptor)); clazz = Class.forName(Descriptor.toClassName(descriptor), false, this.classLoader); } catch (ClassNotFoundException e) { if (e.getException() == null) { return null; } else { throw e; } } if (ClassLoaderIClassLoader.DEBUG) System.out.println("clazz = " + clazz); IClass result = new ReflectionIClass(clazz, this); this.defineIClass(result); return result; }