On Wed, 22 May 2024 10:27:16 GMT, Chen Liang <li...@openjdk.org> wrote:
>> src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java line >> 249: >> >>> 247: * the original can safely be reused. >>> 248: */ >>> 249: public Class<?>[] copyClasses(Class<?>[] classes) { >> >> There is no need to make this utility method non-static. This would also >> obviate the need for having an instance of `ReflectionFactory` to access it. >> >> Additionally, at the risk of more bikeshedding, I think this utility method >> is better suited in `AccessibleObject` base class, with package-private >> visibility. Putting the util methods in `ReflectionFactory` erodes this >> comment a bit: >> >> >> <P> The methods in this class are extremely unsafe and can cause >> subversion of both the language and the verifier. For this reason, >> they are all instance methods, and access to the constructor of >> this factory is guarded by a security check, in similar style to >> {@link jdk.internal.misc.Unsafe}. </P> > > Can't this be used by class cloning interfaces too? @liach I see such an opportunity in `Proxy.getProxyConstructor`, is that what you have in mind? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19327#discussion_r1609907464