Integrated: 8287186: JDK modules participating in preview
Paul Sandoz
psandoz at openjdk.java.net
Tue Jun 14 16:26:04 UTC 2022
On Wed, 8 Jun 2022 15:46:24 GMT, Paul Sandoz <psandoz at openjdk.org> wrote:
> 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` package `jdk.internal.javac` is exported to that module (@lahodaj clever idea!). An internal annotation `jdk.internal.javac.ParticipatesInPreview` can be declared on the module. Such a declaration cannot be enforced but does by its use require the `jdk.internal.javac`'s export list to be updated.
>
> The modules `jdk.incubator.vector` and `jdk.incubator.concurrent` have been updated accordingly, both of which participate in preview APIs (APIs in `java.lang.foreign` and `Thread.ofVirtual`, respectively).
This pull request has now been integrated.
Changeset: fb297705
Author: Paul Sandoz <psandoz at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/fb297705f6dc668bea0257efb9c46b90b5eab2e9
Stats: 140 lines in 12 files changed: 65 ins; 57 del; 18 mod
8287186: JDK modules participating in preview
Reviewed-by: alanb, jlahoda
-------------
PR: https://git.openjdk.org/jdk/pull/9087
More information about the core-libs-dev
mailing list