> 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).
Paul Sandoz has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Merge remote-tracking branch 'upstream/master' into JDK-8287186-preview-participating - Let java.management participate in preview features. - Unused import. - Generalize the pariticipating in preview APIs. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/9087/files - new: https://git.openjdk.org/jdk/pull/9087/files/9defdf23..abd1fbf6 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=9087&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=9087&range=01-02 Stats: 17219 lines in 554 files changed: 13408 ins; 1651 del; 2160 mod Patch: https://git.openjdk.org/jdk/pull/9087.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9087/head:pull/9087 PR: https://git.openjdk.org/jdk/pull/9087