On Mon, 5 Jun 2023 21:34:04 GMT, Mandy Chung <mch...@openjdk.org> wrote:

>> Update PR and CSR to use the wording:
>> 
>> "Latest Java class file format version recognized by the Java runtime as 
>> "MAJOR.MINOR" where MAJOR and MINOR are both formatted as decimal integers"
>> 
>> While it wouldn't be unreasonable to assume that when running under 
>> --enable-preview that the minor version was 65535, it is printed out as 0 
>> with or without preview being enabled.
>> 
>> I didn't want to broach preview-ness as part of this update to either 
>> promise or document the current behavior.
>
> Related to Alan's comment on RELEASE_xxx in ClassFileFormatVersion, perhaps 
> the class description can clarify that a class file version has major version 
> number `M` and minor version number `m` and a Java Virtual Machine 
> implementation can support a class file format of version v if and only if v 
> lies in some contiguous range Mi.0 ≤ v ≤ Mj.m.   RELEASE_xxx represents the 
> major version number. 
> 
> That way, the description of RELEASE_xxx can remain to say "The version 
> recognized...".

The decimal integer should be unsigned and without leading zeros.  A regex 
similar to that provided by Runtime.Version would make things clear.  I think 
that Mandy's suggestion would be a reasonable alternative as the Java class 
file version number isn't truly arbitrary.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14305#discussion_r1218623501

Reply via email to