src/share/classes/java/lang/invoke/MethodHandleNatives.java

Print this page

        

*** 446,456 **** return defc == java.lang.Class.class; case "getConnection": case "getDriver": case "getDrivers": case "deregisterDriver": ! return defc == java.sql.DriverManager.class; case "newUpdater": if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true; break; --- 446,456 ---- return defc == java.lang.Class.class; case "getConnection": case "getDriver": case "getDrivers": case "deregisterDriver": ! return defc == getClass("java.sql.DriverManager"); case "newUpdater": if (defc == java.util.concurrent.atomic.AtomicIntegerFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicLongFieldUpdater.class) return true; if (defc == java.util.concurrent.atomic.AtomicReferenceFieldUpdater.class) return true; break;
*** 480,485 **** --- 480,495 ---- case "clearCache": return defc == java.util.ResourceBundle.class; } return false; } + + // avoid static dependency to a class in other modules + private static Class<?> getClass(String cn) { + try { + return Class.forName(cn, false, + MethodHandleNatives.class.getClassLoader()); + } catch (ClassNotFoundException e) { + throw new InternalError(e); + } + } }