Hi Alan,

On 8/27/2019 11:39 PM, Alan Bateman wrote:
On 28/08/2019 02:28, Joe Darcy wrote:
Hello,

Recent work for JDK-8202385: "Annotation to mark serial-related fields and methods" added the java.io.Serial annotation type to the platform. The intention of this new annotation type is to allow serialization-related fields and methods to be marked as documentation and to allow stricter compile-time checking, analogous to the checking done for @Override. Implementing those stricter serialization-related checks will be done under JDK-8202056.

Please review the application of java.io.Serial to types in the base module other than security types:

    JDK-8229997: Apply java.io.Serial annotations in java.base
    http://cr.openjdk.java.net/~darcy/8229997.0/
There are exception classes in java.base that are generated at build time so I think you'll need to update make/scripts/genExceptions.sh to ensure that the serialVersionUID in those classes are annotated.

The intention here is to be "mostly exhaustive" rather than "entirely exhaustive" in applying the annotation type so I'd prefer to defer updating generated exceptions to future work.

From some off-list discussions with Stuart and Roger, the envisioned nature of the compile-time checking is that the full suite of new checks would only be enabled if the annotations are present. Some additional checking would occur without the annotation, such as an ineffectual serialVersionUID in an enum type.

Thanks,

-Joe

Reply via email to