< prev index next >

src/java.base/share/classes/java/lang/reflect/Constructor.java

Print this page
rev 55690 : 8223349: [lworld] Reflection support on static <init> factory methods for inline types
Reviewed-by: jrose

@@ -178,14 +178,10 @@
     @CallerSensitive
     public void setAccessible(boolean flag) {
         AccessibleObject.checkPermission();
 
         if (flag) {
-            if (clazz.isInlineClass()) {
-                throw new InaccessibleObjectException(
-                    "Unable to make an inline class constructor \"" + this + "\" accessible");
-            }
             checkCanSetAccessible(Reflection.getCallerClass());
         }
         setAccessible0(flag);
     }
 

@@ -480,14 +476,10 @@
     @ForceInline // to ensure Reflection.getCallerClass optimization
     public T newInstance(Object ... initargs)
         throws InstantiationException, IllegalAccessException,
                IllegalArgumentException, InvocationTargetException
     {
-        if (clazz.isInlineClass()) {
-            throw new IllegalAccessException(
-                "cannot create new instance of an inline class " + clazz.getName());
-        }
         Class<?> caller = override ? null : Reflection.getCallerClass();
         return newInstanceWithCaller(initargs, !override, caller);
     }
 
     /* package-private */
< prev index next >