JDK 12 RFR of JDK-8209024: Use SuppressWarnings on serialVersionUID fields in interfaces (original) (raw)

Sean Mullan sean.mullan at oracle.com
Mon Aug 6 19:49:39 UTC 2018


Looks fine to me.

--Sean

On 8/6/18 3:11 PM, joe darcy wrote:

Hello,

Various interfaces in the JDK extend Serializable and declare serialVersionUID fields. Such fields are ineffectual and @SuppressWarnings("serial") should be applied to such fields to suppress future planned serial lint checks (JDK-8202056). Most of the affected files are in the security-libs area with a handful in RMI and JNDI: http://cr.openjdk.java.net/~darcy/8209024.0/ Patch below. I'll fix-up the copyright years before any push. Thanks, -Joe --- old/src/java.base/share/classes/java/security/Key.java 2018-08-06 12:04:46.666000999 -0700 +++ new/src/java.base/share/classes/java/security/Key.java 2018-08-06 12:04:46.510000999 -0700 @@ -109,6 +109,7 @@ * serialization compatibility with a previous * version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 6603384152749567654L; /** --- old/src/java.base/share/classes/java/security/PrivateKey.java 2018-08-06 12:04:47.062000999 -0700 +++ new/src/java.base/share/classes/java/security/PrivateKey.java 2018-08-06 12:04:46.914000999 -0700 @@ -64,5 +64,6 @@ * The class fingerprint that is set to indicate serialization * compatibility with a previous version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 6034044314589513430L;  } --- old/src/java.base/share/classes/java/security/PublicKey.java 2018-08-06 12:04:47.454000999 -0700 +++ new/src/java.base/share/classes/java/security/PublicKey.java 2018-08-06 12:04:47.306000999 -0700 @@ -50,5 +50,6 @@ * The class fingerprint that is set to indicate serialization * compatibility with a previous version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 7187392471159151072L;  } --- old/src/java.base/share/classes/java/security/interfaces/DSAPrivateKey.java 2018-08-06 12:04:47.858000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/DSAPrivateKey.java 2018-08-06 12:04:47.706000999 -0700 @@ -48,6 +48,7 @@ * serialization compatibility with a previous * version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 7776497482533790279L; /** --- old/src/java.base/share/classes/java/security/interfaces/DSAPublicKey.java 2018-08-06 12:04:48.270000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/DSAPublicKey.java 2018-08-06 12:04:48.114000999 -0700 @@ -48,6 +48,7 @@ * serialization compatibility with a previous * version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 1234526332779022332L; /** --- old/src/java.base/share/classes/java/security/interfaces/ECPrivateKey.java 2018-08-06 12:04:48.674000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/ECPrivateKey.java 2018-08-06 12:04:48.522000999 -0700 @@ -43,6 +43,7 @@ * The class fingerprint that is set to indicate * serialization compatibility. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -7896394956925609184L; /** --- old/src/java.base/share/classes/java/security/interfaces/ECPublicKey.java 2018-08-06 12:04:49.078000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/ECPublicKey.java 2018-08-06 12:04:48.926000999 -0700 @@ -45,6 +45,7 @@ * The class fingerprint that is set to indicate * serialization compatibility. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -3314988629879632826L; /** --- old/src/java.base/share/classes/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java 2018-08-06 12:04:49.470000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java 2018-08-06 12:04:49.318000999 -0700 @@ -51,6 +51,7 @@ * serialization compatibility with a previous * version of the type. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 618058533534628008L; /** --- old/src/java.base/share/classes/java/security/interfaces/RSAPrivateCrtKey.java 2018-08-06 12:04:49.890000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/RSAPrivateCrtKey.java 2018-08-06 12:04:49.726000999 -0700 @@ -46,6 +46,7 @@ * serialization compatibility with a previous * version of the type. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -5682214253527700368L; /** --- old/src/java.base/share/classes/java/security/interfaces/RSAPrivateKey.java 2018-08-06 12:04:50.290000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/RSAPrivateKey.java 2018-08-06 12:04:50.146000999 -0700 @@ -45,6 +45,7 @@ * serialization compatibility with a previous * version of the type. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 5187144804936595022L; /** --- old/src/java.base/share/classes/java/security/interfaces/RSAPublicKey.java 2018-08-06 12:04:50.706000999 -0700 +++ new/src/java.base/share/classes/java/security/interfaces/RSAPublicKey.java 2018-08-06 12:04:50.554000999 -0700 @@ -42,6 +42,7 @@ * serialization compatibility with a previous * version of the type. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -8727434096241101194L; /** --- old/src/java.base/share/classes/javax/crypto/SecretKey.java 2018-08-06 12:04:51.142000999 -0700 +++ new/src/java.base/share/classes/javax/crypto/SecretKey.java 2018-08-06 12:04:50.986000999 -0700 @@ -64,5 +64,6 @@ * The class fingerprint that is set to indicate serialization * compatibility since J2SE 1.4. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -4795878709595146952L;  } --- old/src/java.base/share/classes/javax/crypto/interfaces/DHPrivateKey.java 2018-08-06 12:04:51.550000999 -0700 +++ new/src/java.base/share/classes/javax/crypto/interfaces/DHPrivateKey.java 2018-08-06 12:04:51.398000999 -0700 @@ -42,6 +42,7 @@ * The class fingerprint that is set to indicate serialization * compatibility since J2SE 1.4. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 2211791113380396553L; /** --- old/src/java.base/share/classes/javax/crypto/interfaces/DHPublicKey.java 2018-08-06 12:04:51.966000999 -0700 +++ new/src/java.base/share/classes/javax/crypto/interfaces/DHPublicKey.java 2018-08-06 12:04:51.810000999 -0700 @@ -42,6 +42,7 @@ * The class fingerprint that is set to indicate serialization * compatibility since J2SE 1.4. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -6628103563352519193L; /** --- old/src/java.base/share/classes/javax/crypto/interfaces/PBEKey.java 2018-08-06 12:04:52.390000999 -0700 +++ new/src/java.base/share/classes/javax/crypto/interfaces/PBEKey.java 2018-08-06 12:04:52.238000999 -0700 @@ -42,6 +42,7 @@ * The class fingerprint that is set to indicate serialization * compatibility since J2SE 1.4. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -1430015993304333921L; /** --- old/src/java.base/share/classes/sun/security/internal/interfaces/TlsMasterSecret.java 2018-08-06 12:04:52.814000999 -0700 +++ new/src/java.base/share/classes/sun/security/internal/interfaces/TlsMasterSecret.java 2018-08-06 12:04:52.658000999 -0700 @@ -44,6 +44,7 @@  @Deprecated  public interface TlsMasterSecret extends SecretKey { +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual public static final long serialVersionUID = -461748105810469773L; /** --- old/src/java.naming/share/classes/javax/naming/Name.java 2018-08-06 12:04:53.294000999 -0700 +++ new/src/java.naming/share/classes/javax/naming/Name.java 2018-08-06 12:04:53.126000999 -0700 @@ -64,6 +64,7 @@ * serialization compatibility with a previous * version of the class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -3617482732056931635L; /** --- old/src/java.naming/share/classes/javax/naming/directory/Attribute.java 2018-08-06 12:04:53.702000999 -0700 +++ new/src/java.naming/share/classes/javax/naming/directory/Attribute.java 2018-08-06 12:04:53.550000999 -0700 @@ -336,5 +336,6 @@ /** * Use serialVersionUID from JNDI 1.1.1 for interoperability. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 8707690322213556804L;  } --- old/src/java.rmi/share/classes/java/rmi/server/RemoteRef.java 2018-08-06 12:04:54.098000999 -0700 +++ new/src/java.rmi/share/classes/java/rmi/server/RemoteRef.java 2018-08-06 12:04:53.942000999 -0700 @@ -39,6 +39,7 @@  public interface RemoteRef extends java.io.Externalizable { /** indicate compatibility with JDK 1.1.x version of class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = 3632638527362204081L; /** --- old/src/java.rmi/share/classes/java/rmi/server/ServerRef.java 2018-08-06 12:04:54.494000999 -0700 +++ new/src/java.rmi/share/classes/java/rmi/server/ServerRef.java 2018-08-06 12:04:54.338000999 -0700 @@ -39,6 +39,7 @@  public interface ServerRef extends RemoteRef { /** indicate compatibility with JDK 1.1.x version of class. */ +    @SuppressWarnings("serial") // serialVersionUID in an interface is ineffectual static final long serialVersionUID = -4557750989390278438L; /**



More information about the core-libs-dev mailing list