On Fri, 22 Nov 2024 13:42:32 GMT, Jan Lahoda <jlah...@openjdk.org> wrote:

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

Looks good to me.
JEP 494 puts java.se into a special position related to the preview 
participation and that position should not depend on java.base internal 
annotation.

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

Marked as reviewed by asotona (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22322#pullrequestreview-2499578321

Reply via email to