On Fri, 5 Dec 2025 23:36:22 GMT, Chen Liang <[email protected]> wrote:

> Core reflection has its own type conversion behavior that is somewhat poorly 
> specified; it is scattered around a few places, and its boxing and unboxing 
> deviates from that of Java language assignment contexts. In addition, core 
> reflection has a somewhat erroneous access check system. We can improve the 
> overview of java.lang.reflect to address these shortcomings and recommend 
> users to use java.lang.invoke for better functionality in these areas.

Overall, I think this PR represents a good direction for the core reflection 
spec to move in and the package-level discussion just needs some refinement.

src/java.base/share/classes/java/lang/reflect/package-info.java line 47:

> 45:  *
> 46:  * <h3 id="access-control">Access Control</h3>
> 47:  * An accessor of a reflected object perform access control against the 
> caller

Typo: perform -> performs

src/java.base/share/classes/java/lang/reflect/package-info.java line 56:

> 54:  * the use happened on the member in A, while in the Java Language and 
> JVM,
> 55:  * the use can happen on an inherited member in another class or 
> interface, and
> 56:  * access control proceeds differently. (JLS {@jls 6.6.1}, JVMS {@jvms 
> 5.4.4})

I suggest making the discussion here more explicit, such as by added a concrete 
B subclasses to the text, and discussing briefly the distinctions between 
method access i the context of B vs A.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/28685#issuecomment-3730049539
PR Review Comment: https://git.openjdk.org/jdk/pull/28685#discussion_r2677149838
PR Review Comment: https://git.openjdk.org/jdk/pull/28685#discussion_r2677155989

Reply via email to