-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
8287186: JDK modules participating in preview #9087
8287186: JDK modules participating in preview #9087
Conversation
👋 Welcome back psandoz! A progress list of the required criteria for merging this PR into |
@PaulSandoz The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
Can java.management participate too? It would allow sun.management.Util.isVirtual(Thread) to go away (lots of methods in sun.management.ThreadImpl need to test if a thread is virtual). |
Pushed update. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The updates to java.base, java.management, and jdk.incubator.* looks fine, it's good to have the reflection code go away.
@PaulSandoz 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:
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 4 new commits pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
javac + jdk.internal.javac
changes look good to me.
Just curious, is it still up to incubator modules' discretion to avoid accidental user access to preview content via the modules without enabling preview, like the |
Obtaining the Symtab in Preview may be too earlier and result in initialization errors when wiring up the module system.
/integrate |
Going to push as commit fb29770.
Your commit was automatically rebased without conflicts. |
@PaulSandoz Pushed as commit fb29770. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
@liach it depends on the API and its scope. A constructor of The same check is also performed by |
Allow JDK modules that use preview features (preview language features or preview API features from dependent modules) to participate without the need to compile with
--enable-preview
.It's difficult to enable participation using an annotation due to the nature in which symbols are encountered when processing source as there is no guaranteed order to the processing of certain symbols.
Instead a JDK module participates if the
java.base
packagejdk.internal.javac
is exported to that module (@lahodaj clever idea!). An internal annotationjdk.internal.javac.ParticipatesInPreview
can be declared on the module. Such a declaration cannot be enforced but does by its use require thejdk.internal.javac
's export list to be updated.The modules
jdk.incubator.vector
andjdk.incubator.concurrent
have been updated accordingly, both of which participate in preview APIs (APIs injava.lang.foreign
andThread.ofVirtual
, respectively).Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/9087/head:pull/9087
$ git checkout pull/9087
Update a local copy of the PR:
$ git checkout pull/9087
$ git pull https://git.openjdk.org/jdk pull/9087/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 9087
View PR using the GUI difftool:
$ git pr show -t 9087
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/9087.diff