RFR: 8297271: AccessFlags should be specific to class file version [v3]

Roger Riggs rriggs at openjdk.org
Tue Dec 6 15:49:29 UTC 2022


> The accessFlags() methods added (in JDK 20, the current release) to java.lang.Class, java.lang.reflect.Executable, and java.lang.reflect.Field implicitly uses the access flags from the current/most recent class file format version. For current and past class file format versions there are few significant variations but future changes are anticipated that change the meaning of some access flag mask bits.
> 
> The accessFlags() methods are clarified to return the access flags that are applicable to the class file format version of the class. The existing AccessFlag.Locations API already contains information about the locations that are applicable to a class file format version. That information should be used to construct the set of AccessFlags returned. A method is added to AccessFlag that returns the applicable flags for a particular mask, Location, and class file format version:

Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:

  Class.accessFlags(): Remove an overeaching requirement on array component type
  AccessFlag.maskToAccessFlags(mask, location, cffv): clarify the handling of undefined mask flags

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/11399/files
  - new: https://git.openjdk.org/jdk/pull/11399/files/3be38680..99931651

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=11399&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=11399&range=01-02

  Stats: 3 lines in 2 files changed: 2 ins; 1 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/11399.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11399/head:pull/11399

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


More information about the core-libs-dev mailing list