review comments for JEP 12: Preview Language and VM Features JDK-8195734

Harold David Seigel harold.seigel at
Mon Dec 10 21:05:52 UTC 2018

Thanks Alex.

I decided to go with:

    "Loading class %s that depends on preview features (class file
    version %d.65535)"


On 12/10/2018 3:41 PM, Alex Buckley wrote:
> On 12/10/2018 12:26 PM, Harold David Seigel wrote:
>> On 12/10/2018 3:00 PM, Alex Buckley wrote:
>>> 3. The wording of the logging output is "Loading preview feature type
>>> $NAME". That sounds like the type is part of the preview feature,
>>> i.e., involved in supporting the preview feature, e.g., the
>>> java.lang.AutoCloseable type if the try-with-resources statement had
>>> been a preview feature. The word "type" also seems unusually abstract
>>> for logging output. Recommend "Loading class file that depends on
>>> preview features: $NAME", or, if it's redundant to say "Loading class
>>> file" in a log about class loading, then "$NAME depends on preview
>> We don't know if the class file actually depends on the preview
>> features, just that it was compiled with 65535.  So, how about:
>>     "Loading class file that is enabled for preview features: $NAME" ?
> Per JEP 12, "A class file denotes that it depends on the preview VM 
> features of Java SE $N by having a major_version item that corresponds 
> to Java SE $N and a minor_version item that has all 16 bits set." 
> What's actually in the code array is immaterial.
> We already speak of enabling preview features in the Java compiler / 
> JVM implementation, so it would be confusing to have an individual 
> class file that "enabled" anything. (Would the file auto-enable the 
> preview features of the compiler/runtime even if --enable-preview 
> hadn't been passed?)
> That said, it would be useful to draw attention to the class file 
> version: "Class $NAME depends on preview features (class file version 
> $MAJOR_VERSION.65535)"
> Alex

More information about the jdk-dev mailing list