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

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


On Thu, 2 Nov 2023 11:55:50 GMT, Jim Laskey <jlaskey at openjdk.org> wrote:

>> src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java line 249:
>> 
>>> 247:         STRING_TEMPLATES(JDK21, Fragments.FeatureStringTemplates, DiagKind.PLURAL),
>>> 248:         UNNAMED_CLASSES(JDK21, Fragments.FeatureUnnamedClasses, DiagKind.PLURAL),
>>> 249:         IMPLICIT_CLASSES(JDK21, Fragments.FeatureImplicitClasses, DiagKind.PLURAL),
>> 
>> Should this be JDK22?
>
> No. It should be left at the first preview level.

`UNNAMED_CLASSES` should probably be removed, as I think it is fully replaced with `IMPLICIT_CLASSES`, and I don't think there are bootstrap problems here (unlike in `jdk.internal.java.PreviewFeature`). I would say it would make sense to set the version to `JDK22`, although the difference is very small given the feature is a preview and requires `-source 22` anyway. (Although we keep the `@since` value for the duration of preview.)

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

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


More information about the compiler-dev mailing list