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).

-------------

Commit messages:
 - Unused import.
 - Generalize the pariticipating in preview APIs.

Changes: https://git.openjdk.java.net/jdk/pull/9087/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=9087&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8287186
  Stats: 98 lines in 7 files changed: 62 ins; 28 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/9087.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/9087/head:pull/9087

PR: https://git.openjdk.java.net/jdk/pull/9087

Reply via email to