Updated Draft specs for JEP 359 (Records)

Alex Buckley alex.buckley at oracle.com
Mon Nov 25 20:54:54 UTC 2019

On 11/25/2019 12:42 PM, Dan Smith wrote:
>> On Nov 6, 2019, at 11:21 AM, Alex Buckley <alex.buckley at oracle.com>
>> wrote:
>> For spec clarity, please rename `component_info` to
>> `record_component_info`.
> I hadn't seen this comment, but I've now applied this change as
> requested (will show up next time Gavin posts an update).


>> As an aside, please drop "We're being intentionally vague here
>> about just what it means for a class to have a "component"."
> Yep, that was intended for earlier in the design, no longer relevant.
> Done.


>> and strengthen the opener: "The Record attribute is a
>> variable-length attribute in the attributes table of a ClassFile
>> structure. ***A `Record` attribute indicates that this class is a
>> _record type_ (JLS §8.10), declared with a list of _record
>> components_.***"  [Almost certainly declared _in source code_, but
>> maybe this class file was auto-generated, so no need to say how the
>> record type was declared ... but it was, since here we are in its
>> class file.]
> This came up in the CSR, and the conclusion was to *weaken* it—JVMS
> doesn't care about record types and under what conditions a class is
> or isn't considered a record. This sentence is purely meant to give
> readers some idea about why this attribute exists. So I've revised it
> to:
> "The `Record` attribute records information about the components of a
> record type (JLS 8.10)."

OK, though as an editorial matter, avoid a record recording something. 
Prefer "... of a ClassFile structure. ***A `Record` attribute denotes 
information about the components of a record type (JLS 8.10).***"


More information about the amber-spec-experts mailing list