On Wed, 9 Oct 2024 19:22:01 GMT, Jan Lahoda <jlah...@openjdk.org> wrote:
> This is a current patch for module imports declarations, second preview. At > least the JEP number and preview revision will need to be updated in > `jdk.internal.javac.PreviewFeature.Feature`, but otherwise I believe this is > ready to receive feedback. > > The main changes are: > - `requires transitive java.base;` is permitted, under the preview flag. Both > javac and the runtime module system are updated to accept this directive when > preview is enabled. > - the `java.se` module is using `requires transitive java.base;`, and is > deemed to be participating in preview, so its classfile version is not > tainted. Runtime is updated to access `requires transitive java.base;` in any > `java.*`, considering all of them to be participating in preview. Can be > tighten up to only `java.se` is desired. > - the types imported through module imports can be shadowed using on-demand > imports. So, for example, having: > > import module java.base; > import module java.desktop; > ... > List l;//ambigous > > but: > > import module java.base; > import module java.desktop; > import java.util.*; > ... > List l;//not ambigous, reference to java.util.List Can you check if test/jdk/java/lang/module/ClassFileVersionsTest.java should be updated too? src/java.base/share/classes/jdk/internal/module/ModuleInfo.java line 193: > 191: int minor_version = in.readUnsignedShort(); > 192: int major_version = in.readUnsignedShort(); > 193: boolean previewClassfile = minor_version == > ClassFile.PREVIEW_MINOR_VERSION; If you rename this to isPreview then it would make the uses further down easier to read. src/java.base/share/classes/jdk/internal/module/ModuleInfo.java line 417: > 415: //java.* modules are deemed participating in > preview > 416: //and are allowed to use requires transitive > java.base: > 417: !mn.startsWith("java.")) A block comment before the `if` statement would be a lot clearer here. ------------- PR Comment: https://git.openjdk.org/jdk/pull/21431#issuecomment-2404032481 PR Review Comment: https://git.openjdk.org/jdk/pull/21431#discussion_r1794661012 PR Review Comment: https://git.openjdk.org/jdk/pull/21431#discussion_r1794662049