RFR: JDK-8315458 Implementation of Implicitly Declared Classes and Instance Main Method (Second Preview) [v4]

Jan Lahoda jlahoda at openjdk.org
Thu Nov 2 17:36:19 UTC 2023

On Thu, 2 Nov 2023 14:52:46 GMT, Jim Laskey <jlaskey at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java line 76:
>>> 74:         UNNAMED_CLASSES,
>>> 75:         @JEP(number=999, title="Implicit Classes and Instance Main Methods")
>>> 76:         IMPLICIT_CLASSES,
>> I assume you'll change this to 463 before integrating.  Can 445 be removed or is there an issue with the symbol database that means it has to stay for a release?
> Missed that. The issue is that Implicit Classes don't have any API and don't show up in the preview page. Fixed.

Regarding removal of `UNNAMED_CLASSES` here, there was an API annotated using this constant in `j.l.Class` (`isUnnamedClass()`). I suspect it unfortunately means we need to keep the enum constant as long as this method exists in the bootstrap JDK, i.e. until the bootstrap is switches to JDK 22.


PR Review Comment: https://git.openjdk.org/jdk/pull/16461#discussion_r1380557036

More information about the compiler-dev mailing list