RFR: 8325324: Implement Implicitly Declared Classes and Instance Main Methods (Third Preview) [v4]

Jan Lahoda jlahoda at openjdk.org
Mon May 6 06:17:09 UTC 2024


> This is an implementation of a change for JEP draft: Implicitly Declared Classes and Instance Main Methods (Third Preview)[1]. The primary change here is that implicitly declared classes have two new implicit imports:
> 
> import module java.base;
> import static java.io.IO.*;
> 
> 
> Both of these depend on other changes, the first one on https://github.com/openjdk/jdk/pull/18614, and the second one on https://bugs.openjdk.org/browse/JDK-8305457. This PR depends on 18614, and the patch here can should be able to work both in the presence and absence of `java.io.IO`, including testing. But, overall the patch should be fairly straightforward - the imports are injected at the same time the long-existing import for `java.lang` is added.
> 
> The JEP number if `jdk.internal.javac.PreviewFeature` will be adjusted once the JEP is moved to Candidate.
> 
> [1] https://openjdk.org/jeps/8323335

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

 - Merge branch 'master' into JDK-8325324
 - Fixing typo.
 - Adjusting IO class name.
 - Merge branch 'module-imports' into JDK-8325324
 - 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.
 - ... and 33 more: https://git.openjdk.org/jdk/compare/f1509e00...58017874

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

Changes: https://git.openjdk.org/jdk/pull/18633/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18633&range=03
  Stats: 275 lines in 4 files changed: 273 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/18633.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18633/head:pull/18633

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


More information about the compiler-dev mailing list