RFR: JDK-8266670: Better modeling of access flags in core reflection [v30]

Rémi Forax forax at openjdk.org
Fri Jun 17 14:53:00 UTC 2022


On Fri, 17 Jun 2022 14:42:22 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> Joe Darcy has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add module-related tests.
>
> src/java.base/share/classes/java/lang/reflect/AccessFlag.java line 428:
> 
>> 426:                                        ABSTRACT, STRICT, SYNTHETIC)),
>> 427:                           entry(Location.INNER_CLASS,
>> 428:                                 Set.of(PUBLIC, PRIVATE, PROTECTED,
> 
> Should SUPER be included for INNER_CLASS?

The JVMS does not allow it
https://docs.oracle.com/javase/specs/jvms/se18/html/jvms-4.html#jvms-4.7.6

The inner class flags are not the flags on the inner class itself (the class with a '$' in its name) but the flags on the attribute InnerClass inside the outerclass. Those flags are used by javac but not by the VM.

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

PR: https://git.openjdk.org/jdk/pull/7445


More information about the core-libs-dev mailing list