Updated Draft specs for JEP 359 (Records)
Brian Goetz
brian.goetz at oracle.com
Tue Nov 26 15:32:20 UTC 2019
I understand your concern here; however, the intent is _not_ to update 4.5A and 4.6A at this time. Since the compiler is setting those flags, we can treat this as a bug to be fixed.
> On Nov 25, 2019, at 11:57 PM, Leonid Kuskov <Leonid.Kuskov at Oracle.com> wrote:
>
> Hello,
>
> From my point of view, JVMS is not fully updated to support Records.
> The new spec should have ACC_MANDATED in the tables for its consistency:
> Table 4.5-A. "Field access and property flags" <https://docs.oracle.com/javase/specs/jvms/se12/html/jvms-4.html#jvms-4.5-200-A.1>,
> Table 4.6-A. "Method access and property flags". <https://docs.oracle.com/javase/specs/jvms/se12/html/jvms-4.html#jvms-4.6-200-A.1>
> otherwise, the following assertions are violated:
>
> All bits of the access_flags item not assigned in Table 4.5-A are reserved for future use.
> They should be set to zero in generated class files and should be ignored by Java Virtual Machine implementations.
>
> All bits of the access_flags item not assigned in Table 4.6-A are reserved for future use.
> They should be set to zero in generated class files and should be ignored by Java Virtual Machine implementations.
>
> Formally speaking, currently, fields/methods can't be marked with the ACC_MANDATED flag.
>
> Thanks,
> Leonid
>
> On 11/21/19 07:01, Gavin Bierman wrote:
>> A hopefully final draft language spec for JEP 359 (Records) is available at:
>>
>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191121/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191121/specs/records-jls.html>
>>
>> This incorporates (I hope!) all the very helpful suggestions from everyone on these lists - many thanks.
>>
>> As always - any further comments/thoughts/bugs most welcome!
>>
>> Gavin
>>
>>> On 31 Oct 2019, at 14:17, Gavin Bierman <gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com> wrote:
>>>
>>> An updated draft language spec for JEP 359 (Records) is available at:
>>>
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jls.html>
>>>
>>> (Alongside is a draft JVM spec for this feature:
>>>
>>> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html> <http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191031/specs/records-jvms.html>
>>>
>>> )
>>>
>>> As always, please email me any comments/thoughts/bugs.
>>>
>>> Thanks,
>>> Gavin
>>>
>>>
>>>> On 23 Aug 2019, at 22:25, Gavin Bierman <gavin.bierman at oracle.com <mailto:gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com> <mailto:gavin.bierman at oracle.com>> wrote:
>>>>
>>>> A draft language spec for records is available at:
>>>>
>>>> http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html> <http://cr.openjdk.java.net/~gbierman/8222777/8222777-20190823/specs/records-jls.html>
>>>>
>>>> This spec doesn’t yet discuss varargs records - to appear in the next draft.
>>>>
>>>> All comments welcomed!
>>>>
>>>> Thanks,
>>>> Gavin
More information about the amber-spec-observers
mailing list