Hi all,

This pull request contains a backport of commit 
[d50b725a](https://github.com/openjdk/jdk/commit/d50b725ac0f228f5b04dd68c123c7f6b263c0d02)
 from the [openjdk/jdk](https://git.openjdk.org/jdk) repository.

The commit being backported was authored by Jan Lahoda on 18 Dec 2024 and was 
reviewed by Adam Sotona and Joe Darcy.

Thanks!

Description from the original PR:
There is a new preview language feature, `requires transitive java.base;`. And 
the `java.se` module is permitted to use the feature, without being marked as 
preview (i.e. the `java.se` module participates in preview). This is currently 
implemented by the common "participates in preview" way, by checking that 
`java.base` is exporting `jdk.internal.javac` package to `java.se`.

This common way works OK for internal preview feature and API usage, but turns 
out it may not be appropriate for this feature: the qualified export of the 
`jdk.internal.javac` package is not a specified API, it is an implementation 
detail; and the JLS itself specifies that the `java.se` module is participating 
in preview.

So this PR proposes to change the way javac handles the `java.se` module: it 
permits the use of the preview feature based on the module name, instead 
relying on the internal qualified export.

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

Commit messages:
 - Backport d50b725ac0f228f5b04dd68c123c7f6b263c0d02

Changes: https://git.openjdk.org/jdk/pull/22808/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22808&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8344647
  Stats: 61 lines in 8 files changed: 51 ins; 4 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/22808.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22808/head:pull/22808

PR: https://git.openjdk.org/jdk/pull/22808

Reply via email to