public final class Class { private Class() {} public static native Class forName(String className) throws ClassNotFoundException; public native Object newInstance() throws InstantiationException, IllegalAccessException; public native boolean isInstance(Object obj); public native boolean isAssignableFrom(Class cls); public native boolean isInte***ce(); public native boolean isArray(); public native String getName(); public Java.io.InputStream getResourceAsStream(String name) { try { if (name.length() > 0 && name.charAt(0) == '/') { name = name.substring(1); } else { String className = this
.getName(); int dotIndex = className.lastIndexOf('.'); if (dotIndex >= 0) { name = className.substring(0, dotIndex + 1).replace('.', '/') + name; } } return new ResourceInputStream(name); } catch (Java.io.IOException x) { return null; } } private static void runCustomCode() {} private native Class getSuperclass(); private transIEnt Object vmClass; private int status; private Thread thread; private static final int VERIFIED = 1; private static final int IN_PROGRESS = 2; private static final int INITIALIZED = 3; private static final int ERROR = 4; private native void invoke_clinit(); private native void invoke_verifIEr(); void initialize() throws Throwable { verify(); synchronized (this) { while (status == IN_PROGRESS && thread != Thread.currentThread()) { try { wait(); } catch (InterruptedException e) {} } if (status == IN_PROGRESS && thread == Thread.currentThread()) { return; } if (status == INITIALIZED) { return; } if (status == ERROR) { throw new Error("NoClassDefFoundError:" + getName()); } status = IN_PROGRESS; thread = Thread.currentThread(); } try { Class s = getSuperclass(); if (s != null && s.status
!= INITIALIZED) { s.initialize(); } invoke_clinit(); synchronized (this) { status = INITIALIZED; thread = null; notifyAll(); } } catch (Throwable e) { synchronized (this) { status = ERROR; thread = null; notifyAll(); throwError(e); } } } synchronized void verify() throws Throwable { if (status < VERIFIED) { getSuperclass().verify(); invoke_verifIEr(); status = VERIFIED; } } private Error throwError(Throwable e) throws Error { throw (e instanceof Error) ? (Error) e : new Error("Static initializer: " + e.getClass().getName
() + ", " + e.getMessage()); }}
-------------------------------------------