Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8268575: Annotations not visible on model elements before they are generated #6662

Closed
wants to merge 1 commit into from

Conversation

sadayapalam
Copy link

@sadayapalam sadayapalam commented Dec 2, 2021

As an inadvertant side effect of JDK-8206325, the model was failing to expose a missing annotation type. Address this.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed
  • Change requires a CSR request to be approved

Issues

  • JDK-8268575: Annotations not visible on model elements before they are generated
  • JDK-8278121: Annotations not visible on model elements before they are generated (CSR)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6662/head:pull/6662
$ git checkout pull/6662

Update a local copy of the PR:
$ git checkout pull/6662
$ git pull https://git.openjdk.java.net/jdk pull/6662/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 6662

View PR using the GUI difftool:
$ git pr show -t 6662

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6662.diff

…nerated

Co-authored-by: Liam Miller-Cushon <cushon@google.com>
@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Dec 2, 2021

👋 Welcome back sadayapalam! 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.

@openjdk openjdk bot added the rfr label Dec 2, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 2, 2021

@sadayapalam The following label will be automatically applied to this pull request:

  • compiler

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the compiler label Dec 2, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Dec 2, 2021

Webrevs

@sadayapalam
Copy link
Author

@sadayapalam sadayapalam commented Dec 2, 2021

The code chunk that "gathers up the annotations into a map" in the method Annotate.annotateNow got surrounded/enclosed by a check

if (a.type.tsym.isAnnotationType()) {
}

as part of the fix for JDK-8206325 - this check is tighter than it ought to be.

javax.lang.model spec requires that

If a program refers to a missing class or interface Xyz, the returned model must contain no less information than if the declaration of class or interface Xyz were assumed to be "class Xyz {}", "interface Xyz {}", "enum Xyz {}", "@interface Xyz {}", or "record Xyz {}".

This goal would be defeated by the check above and hence the present fix which relaxes it so we tolerate missing types and expose them in the model.

(It is worth calling out that annotation processing would not kick in if there are errors that could not be recovered from by generation of code from the processor)

@sadayapalam
Copy link
Author

@sadayapalam sadayapalam commented Dec 2, 2021

/csr needed

@openjdk openjdk bot added the csr label Dec 2, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 2, 2021

@sadayapalam has indicated that a compatibility and specification (CSR) request is needed for this pull request.
@sadayapalam please create a CSR request for issue JDK-8268575. This pull request cannot be integrated until the CSR request is approved.

Copy link
Contributor

@mcimadamore mcimadamore left a comment

Looks good!

@sadayapalam
Copy link
Author

@sadayapalam sadayapalam commented Dec 6, 2021

/integrate

@openjdk openjdk bot removed the csr label Dec 6, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 6, 2021

@sadayapalam This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8268575: Annotations not visible on model elements before they are generated

Reviewed-by: mcimadamore

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 62 new commits pushed to the master branch:

  • 839b606: 8278143: Remove unused "argc" from ConstantPool::copy_bootstrap_arguments_at_impl
  • 267c024: 8265150: AsyncGetCallTrace crashes on ResourceMark
  • 9642629: 8276779: (ch) InputStream returned by Channels.newInputStream should have fast path for SelectableChannels
  • 02ee337: 8278175: Enable all doclint warnings for build of java.desktop
  • 24e16ac: 8277617: Adjust AVX3Threshold for copy/fill stubs
  • 2b87c2b: 8277793: Support vector F2I and D2L cast operations for X86
  • e1cde19: 8278247: KeyStoreSpi::engineGetAttributes does not throws KeyStoreException
  • a729a70: 8225181: KeyStore should have a getAttributes method
  • 38f525e: 8275821: Optimize random number generators developed in JDK-8248862 using Math.unsignedMultiplyHigh()
  • 780b8b1: 8278179: Enable all doclint warnings for build of java.naming
  • ... and 52 more: https://git.openjdk.java.net/jdk/compare/8198807b4a811040c7d9f65fb98494fc7d840814...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Dec 6, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 6, 2021

Going to push as commit 104aa1f.
Since your change was applied there have been 62 commits pushed to the master branch:

  • 839b606: 8278143: Remove unused "argc" from ConstantPool::copy_bootstrap_arguments_at_impl
  • 267c024: 8265150: AsyncGetCallTrace crashes on ResourceMark
  • 9642629: 8276779: (ch) InputStream returned by Channels.newInputStream should have fast path for SelectableChannels
  • 02ee337: 8278175: Enable all doclint warnings for build of java.desktop
  • 24e16ac: 8277617: Adjust AVX3Threshold for copy/fill stubs
  • 2b87c2b: 8277793: Support vector F2I and D2L cast operations for X86
  • e1cde19: 8278247: KeyStoreSpi::engineGetAttributes does not throws KeyStoreException
  • a729a70: 8225181: KeyStore should have a getAttributes method
  • 38f525e: 8275821: Optimize random number generators developed in JDK-8248862 using Math.unsignedMultiplyHigh()
  • 780b8b1: 8278179: Enable all doclint warnings for build of java.naming
  • ... and 52 more: https://git.openjdk.java.net/jdk/compare/8198807b4a811040c7d9f65fb98494fc7d840814...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Dec 6, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Dec 6, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 6, 2021

@sadayapalam Pushed as commit 104aa1f.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@sadayapalam sadayapalam deleted the JDK-8268575 branch Dec 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler integrated
2 participants