> 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
Jan Lahoda has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 15 commits: - Merge branch 'master' into JDK-8335989 - Reflecting review feedback. - Cleanup. - Cleanup. - Fixing tests - Adding a separate scope for module imports. - Cleanup. - Make very sure java.base is completed. - Keep jdk.internal.javac qualified export from java.base. - Adding forgotten change. - ... and 5 more: https://git.openjdk.org/jdk/compare/15815089...b5f9df2a ------------- Changes: https://git.openjdk.org/jdk/pull/21431/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21431&range=02 Stats: 761 lines in 27 files changed: 580 ins; 46 del; 135 mod Patch: https://git.openjdk.org/jdk/pull/21431.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/21431/head:pull/21431 PR: https://git.openjdk.org/jdk/pull/21431