RFR: 8356894: Adjust CreateSymbols to properly handle the newly added @jdk.internal.RequiresIdentity [v3]
Vicente Romero
vromero at openjdk.org
Wed May 21 18:01:00 UTC 2025
On Wed, 21 May 2025 06:19:36 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
>> This patch builds on top of https://github.com/openjdk/jdk/pull/24746, and adds support for `@RequiresIdentity` to `--release`.
>>
>> Important parts of the patch:
>> - `CreateSymbols` now keeps `RuntimeInvisibleTypeAnnotationsAttribute`/`RuntimeVisibleTypeAnnotationsAttribute` annotations
>> - for `ct.sym`, the `@RequiresIdentity` annotation is converted to a synthetic `@RequiresIdentity+Annotation`, as for other similar annotations.
>> - for parameters, there's a new flag that marks the parameter as "requires identity". The reason is that the other synthetic annotations on symbols used by `ct.sym`/`--release` are normally not added to the model, and hence invisible in the model. Flags are usually used instead of the synthetic annotations in javac. Using this new flag allows us to keep the behavior the same for the `@RequiresIdentity+Annotation`
>> - for type variables, the synthetic annotation is filtered out in the API method
>
> Jan Lahoda has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 42 commits:
>
> - Merge remote-tracking branch 'upstream/master' into JDK-8356894
> - Cleanup.
> - Fixing build
> - Adjustments, annotation filtering, adding more tests
> - Merge remote-tracking branch 'vicente/JDK-8354556' into JDK-8354556
> - Merge branch 'master' into JDK-8354556
> - Update src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java
>
> Co-authored-by: Chen Liang <liach at openjdk.org>
> - additional changes from Archie
> - removing dead code
> - integrating code from Archie
> - ... and 32 more: https://git.openjdk.org/jdk/compare/1a97eb42...696cd663
lgtm
-------------
Marked as reviewed by vromero (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/25232#pullrequestreview-2858674319
More information about the compiler-dev
mailing list