RFR: JEP 359: Records (Preview) (full code)
Srikanth
srikanth.adayapalam at oracle.com
Wed Dec 4 09:58:04 UTC 2019
Hi Vicente, I made one more pass over the code - Overall looks good to
me and I don't have additional comments over and above the comments
shared so far.
+1
Thanks
Srikanth
On 28/11/19 10:07 AM, Vicente Romero wrote:
> Hi,
>
> Please review the code for the records feature at [1]. This webrev
> includes all: APIs, runtime, compiler, serialization, javadoc, and
> more! Must of the code has been reviewed but there have been some
> changes since reviewers saw it. Also this is the first time an
> integral webrev is sent out for review. Last changes on top of my mind
> since last review iterations:
>
> On the compiler implementation:
> - it has been adapted to the last version of the language spec [2], as
> a reference the JVM spec is at [3]. This implied some changes in
> determining if a user defined constructor is the canonical or not. Now
> if a constructor is override-equivalent to a signature derived from
> the record components, then it is considered the canonical
> constructor. And any canonical constructor should satisfy a set of
> restrictions, see section 8.10.4 Record Constructor Declarations of
> the specification.
> - It was also added a check to make sure that accessors are not generic.
> - And that the canonical constructor, if user defined, is not
> explicitly invoking any other constructor.
> - The list of forbidden record component names has also been updated.
> - new error messages have been added
>
> APIs:
> - there have been some API editing in java.lang.Record,
> java.lang.runtime.ObjectMethods and java.lang.reflect.RecordComponent,
> java.io.ObjectInputStream, javax.lang.model (some visitors were added)
>
> On the JVM implementation:
> - some logging capabilities have been added to classFileParser.cpp to
> provide the reason for which the Record attribute has been ignored
>
> Reflection:
> - there are several new changes to the implementation of
> java.lang.reflect.RecordComponent apart from the spec changes
> mentioned before.
>
> bug fixes in
> - compiler
> - serialization,
> - JVM, etc
>
> As a reference the last iteration of the previous reviews can be found
> at [4] under folders: compiler, hotspot_runtime, javadoc, reflection
> and serialization,
>
> TIA,
> Vicente
>
> [1]
> http://cr.openjdk.java.net/~vromero/records.review/all_code/webrev.00/
> [2]
> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191125/specs/records-jls.html
> [3]
> http://cr.openjdk.java.net/~gbierman/jep359/jep359-20191125/specs/records-jvms.html
> [4] http://cr.openjdk.java.net/~vromero/records.review/
>
More information about the compiler-dev
mailing list