RFR: 8325324: Implement Declared Classes and Instance main Methods
Jan Lahoda
jlahoda at openjdk.org
Thu Apr 4 16:41:33 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.SimpleIO.*;
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.SimpleIO`, including testing. Some tweaking may still be necessary when `java.io.SimpleIO` is introduced. 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.
There is also an obvious relation to String Templates, which may need tweaking/simplification.
Additional tweak will be needed once the JEP is Candidate, to updated the proper JEP number.
[1] https://openjdk.org/jeps/8323335
-------------
Depends on: https://git.openjdk.org/jdk/pull/18614
Commit messages:
- Adding test verifying that the new implicit imports are not used for ordinary classes.
- Merge branch 'module-imports' into JDK-8325324
- Fixing test.
- Merge branch 'master' into JDK-8325324
- Disabling the preview check when working with the STR.
- Cleanup StringTemplate.STR import.
- Implicitly importing SimpleIO.
- 8325324: Implement Declared Classes and Instance main Methods
Changes: https://git.openjdk.org/jdk/pull/18633/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18633&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8325324
Stats: 301 lines in 4 files changed: 275 ins; 11 del; 15 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