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 core-libs-dev mailing list