RFR: 8191637: Interface with defaults invalid compiler warning for Serializable
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Jan 5 19:33:30 UTC 2018
Updated webrev, based on feedback from serialization folk.
Interfaces need never have a serialVersionIUID.
All serializable classes (i.e. either concrete or abstract) are
candidates to be checked for the presence of a serialVersionUID
Webrev: http://cr.openjdk.java.net/~jjg/8191637/webrev.01/
-- Jon
On 01/04/2018 04:54 PM, Jonathan Gibbons wrote:
> Please review this fix for JDK-8191637, which modifies an earlier fix
> for JDK-6356530.
>
> Prior to the fix for JDK-6356530, all abstract classes (including
> interfaces) were excluded from the check for serialVersionUID. The fix
> for JDK-6356530 modified the check, but focussed on concrete methods
> (including default methods for interfaces) instead of serializable
> fields.
>
> This fix updates the check so that interfaces are never checked, and
> abstract classes are only checked if they have serializable
> (non-static, non-transient) fields.
>
> JBS 1: https://bugs.openjdk.java.net/browse/JDK-8191637
> JBS 2: https://bugs.openjdk.java.net/browse/JDK-6356530
> Webrev: http://cr.openjdk.java.net/~jjg/8191637/webrev.00/
>
> -- Jon
More information about the compiler-dev
mailing list