src/java.base/share/classes/java/lang/invoke/MethodHandles.java
changeset 52086 fc52ccf451cd
parent 51986 c1db377f6300
child 52226 b4b932c6001f
equal deleted inserted replaced
52085:26c3104c936d 52086:fc52ccf451cd
   967             // invoke the class loader's defineClass method
   967             // invoke the class loader's defineClass method
   968             ClassLoader loader = lookupClass.getClassLoader();
   968             ClassLoader loader = lookupClass.getClassLoader();
   969             ProtectionDomain pd = (loader != null) ? lookupClassProtectionDomain() : null;
   969             ProtectionDomain pd = (loader != null) ? lookupClassProtectionDomain() : null;
   970             String source = "__Lookup_defineClass__";
   970             String source = "__Lookup_defineClass__";
   971             Class<?> clazz = SharedSecrets.getJavaLangAccess().defineClass(loader, cn, bytes, pd, source);
   971             Class<?> clazz = SharedSecrets.getJavaLangAccess().defineClass(loader, cn, bytes, pd, source);
   972             assert clazz.getClassLoader() == lookupClass.getClassLoader()
       
   973                     && clazz.getPackageName().equals(lookupClass.getPackageName())
       
   974                     && protectionDomain(clazz) == lookupClassProtectionDomain();
       
   975             return clazz;
   972             return clazz;
   976         }
   973         }
   977 
   974 
   978         private ProtectionDomain lookupClassProtectionDomain() {
   975         private ProtectionDomain lookupClassProtectionDomain() {
   979             ProtectionDomain pd = cachedProtectionDomain;
   976             ProtectionDomain pd = cachedProtectionDomain;