< prev index next >
src/java.base/share/classes/java/lang/invoke/MethodHandles.java
Print this page
@@ -1251,26 +1251,20 @@
}
if (!pn.equals(lookupClass.getPackageName())) {
throw new IllegalArgumentException(cn + " not in same package as lookup class: " + lookupClass.getName());
}
- Class<?> host = lookupClass;
- if ((flags & NESTMATE_CLASS) != 0) {
- // cached in the Class object
- host = lookupClass.getNestHost();
- }
-
if ((flags & NONFINDABLE_CLASS) != 0) {
// assign a new name
// cn = cn + "\\" + ++seq;
cn = null;
}
// invoke the class loader's defineClass method
ClassLoader loader = lookupClass.getClassLoader();
ProtectionDomain pd = (loader != null) ? lookupClassProtectionDomain() : null;
- Class<?> clazz = JLA.defineClass(loader, host, cn, bytes, pd, flags, classData);
+ Class<?> clazz = JLA.defineClass(loader, lookupClass, cn, bytes, pd, flags, classData);
assert clazz.getClassLoader() == lookupClass.getClassLoader()
&& clazz.getPackageName().equals(lookupClass.getPackageName());
// ## TBD what if multiple threads defining this same class??
// may need VM to inject the classData in a Class itself at define class time
< prev index next >