RFR: 8231622: SuppressWarning("serial") ignored on field serialVersionUID

Jonathan Gibbons jjg at openjdk.java.net
Fri Dec 4 17:27:16 UTC 2020


On Fri, 4 Dec 2020 16:21:28 GMT, Guoxiong Li <github.com+13688759+lgxbslgx at openjdk.org> wrote:

> Hi all,
> 
> Currently, a warning is generated when compiling the following code by using the option `-Xlint`.
> 
> import java.io.Serializable;
> class B implements Serializable {
>     @SuppressWarnings("serial")
>     private static final byte serialVersionUID = 5;
> }
> 
> output:
> B.java:4: warning: [serial] serialVersionUID must be of type long in class B
>     private static final byte serialVersionUID = 5;
>                               ^
> 1 warning
> 
> The annotation `@SuppressWarnings("serial")` on  field serialVersionUID is ignored by the compiler.
> This patch fixes it and adds some tests.
> Thank you for taking the time to review.
> 
> Best Regards.

For tests that use `/ref=file` `-XDrawDiagnostics` the conventions are:

1. Omit the complete legal header, including the copyright and license
2. After `@test` add the text `/nodynamiccopyright/`

#1 protects the file against any future changes in the length of the legal header, that might affect line numbers, and #2 is for use by automated scripts that may check for the presence of the legal header.

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

Changes requested by jjg (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1626


More information about the compiler-dev mailing list