jdk17u-dev
jdk17u-dev copied to clipboard
8341779: [REDO BACKPORT] type annotations are not visible to javac plugins across compilation boundaries (JDK-8225377)
JDK-8341779 is a redo of the backport of JDK-8323093, see also discussion in CSR JDK-8346471.
JDK-8341779 was backported to JDK 21u and released in 21.0.8, as discussed in the CSR this PR proposes integrating it into a future 17u release now that 21.0.8 has been released.
Similar to JDK-8360406 for 21u, a future backport will disable this logic for 17u by default, and optionally allow the fix to be enabled with -XDaddTypeAnnotationsToSymbol.
Progress
- [ ] Change must be properly reviewed (1 review required, with at least 1 Reviewer)
- [ ] JDK-8340024 needs maintainer approval
- [ ] JDK-8341779 needs maintainer approval
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue
- [x] Change requires CSR request JDK-8346471 to be approved
Issues
- JDK-8341779: [REDO BACKPORT] type annotations are not visible to javac plugins across compilation boundaries (JDK-8225377) (Bug - P3 - Requested)
- JDK-8340024: In ClassReader, extract a constant for the superclass supertype_index (Enhancement - P4 - Requested)
- JDK-8346471: [REDO BACKPORT] type annotations are not visible to javac plugins across compilation boundaries (CSR)
Reviewing
Using git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk17u-dev.git pull/4124/head:pull/4124
$ git checkout pull/4124
Update a local copy of the PR:
$ git checkout pull/4124
$ git pull https://git.openjdk.org/jdk17u-dev.git pull/4124/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 4124
View PR using the GUI difftool:
$ git pr show -t 4124
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk17u-dev/pull/4124.diff
Using Webrev
:wave: Welcome back cushon! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.
❗ This change is not yet ready to be integrated. See the Progress checklist in the description for automated requirements.
This backport pull request has now been updated with issue from the original commit.
At least one of the issues associated with this backport has a resolved CSR for a different version. As this means that this backport may also need a CSR, the csr label is being added to this pull request to signal this potential requirement. The command /csr unneeded can be used to remove the label in case a CSR is not needed.
/issue add JDK-8341779
@cushon This issue is referenced in the PR title - it will now be updated.
/issue add JDK-8340024
@cushon
Adding additional issue to issue list: 8340024: In ClassReader, extract a constant for the superclass supertype_index.
/approval JDK-8341779 request for backport. Fixes a bug in javac's implementation of TypeMirror to allow accessing type-use annotations on types loaded from class files.
Risk: The feature will be disabled by default behind an -XD flag, similar to 21u (see JDK-8360406). See also discussion in CSR JDK-8346471.
Testing: Tier 1 tests pass. The changes were backported to 21u and released in 21.0.8. The fix is also present in JDK 22 and newer releases.
Dependencies: If approved, the following related fixes should also be backported: JDK-8337795, JDK-8340024, JDK-8337998, JDK-8354893, JDK-8360406
@cushon JDK-8341779: The approval request has been created successfully.
/approval JDK-8340024 request for backport. No-risk clean-up change for code hygiene, which also also included in JDK 21 as part of the JDK-8341779 redo, see https://git.openjdk.org/jdk21u-dev/pull/1671.
@cushon JDK-8340024: The approval request has been created successfully.