> This is an implementation of JEP JDK-8315129: Module Import Declarations 
> (Preview). Please see the JEP for details:
> https://bugs.openjdk.org/browse/JDK-8315129
> 
> It is mostly straightforward - the module imports are parsed, and then 
> expanded to import-on-demand in `TypeEnter`.
> There is a few notable aspects, however:
> - the AST node for import (`JCImport`) is holding the imported element as a 
> field access, because so far, the imported element always had to have a '.' 
> (even for import-on-demand). But for module imports, it is permissible to 
> import from a module whose name does not have a dot (`import module m;`). The 
> use of field access for ordinary import seems very useful, so I preferred to 
> keep that, and created a new internal-only AST node for module imports. There 
> is still only one public API AST node/interface, so this is purely an 
> implementation choice.
> - JShell now supports module imports as well; and the default, implicit, 
> script is changed to use it to import all of `java.base` if preview is 
> enabled. It is expected that the default would be changed if/when the module 
> imports feature is finalized.

Jan Lahoda has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 28 commits:

 - Merge branch 'master' into module-imports
 - Fixing test on Windows (2).
 - Fixing Imports test on Windows.
 - Adding test for ImportTree.isModule, as suggested.
 - Reflecting review feedback - improving the 'module (current) does not read 
(target).
 - Updating JEP number and caption.
 - Fixing ListModuleDeps test.
 - Cleanup.
 - Merge branch 'master' into module-imports
 - Including current module name as suggested.
 - ... and 18 more: https://git.openjdk.org/jdk/compare/4e5c25ee...43a1e0f6

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

Changes: https://git.openjdk.org/jdk/pull/18614/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18614&range=12
  Stats: 1343 lines in 31 files changed: 1268 ins; 17 del; 58 mod
  Patch: https://git.openjdk.org/jdk/pull/18614.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18614/head:pull/18614

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

Reply via email to