On Tue, 29 Apr 2025 16:12:01 GMT, Chen Liang <li...@openjdk.org> wrote:

>> Take the class file version to reject flags not yet defined, redefined, or 
>> obsoleted. The non-cffv version can return the preview flags when the 
>> current runtime is in preview.
>
> Chen Liang has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 10 commits:
> 
>  - Wording updates
>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>  - Missing since
>  - Fix javap causing strictfp tests to fail
>  - Further furnish docs
>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>  - Merge branch 'feature/af-location-accessors' into feature/af-cffv-parse
>  - Merge branch 'master' of https://github.com/openjdk/jdk into 
> feature/af-cffv-parse
>  - Redundant method
>  - 8297271: AccessFlag.maskToAccessFlags should be specific to class file 
> version

src/java.base/share/classes/java/lang/reflect/AccessFlag.java line 401:

> 399:     public static Set<AccessFlag> maskToAccessFlags(int mask, Location 
> location, ClassFileFormatVersion cffv) {
> 400:         var definition = findDefinition(location);
> 401:         int unmatchedMask = mask & (~location.flagsMask(cffv)); // 
> implicit null check

Implicit null check is actually in `findDefinition`.
There's little harm is looking up the definition before checking for unmatched 
mask bits but it could be delayed and inlined as the argument to `new 
AccessFlagSet`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24760#discussion_r2067235737

Reply via email to