Yeah, I guess so. We'd have to add @SuppressWarnings("serial") to some non-public classes but so what.

Éamonn


On 25/8/11 6:01 PM, Joe Darcy wrote:
Eamonn McManus wrote:
Could we perhaps have the JDK build use an annotation processor that requires every public class in java.* javax.* etc that is serializable to either declare a serialVersionUID or have @SuppressWarnings("serial")? The amount of grief we have had over the years with this would easily justify the effort.

We could achieve that effect using the "-Xlint:serial -Werror" option to javac during the JDK build.

-Joe


Éamonn


On 25/8/11 9:00 AM, Joe Darcy wrote:
Alan Bateman wrote:
Joe Darcy wrote:
Hi Alan.

I did check for that point in my review :-)

The VirtualMachineError class is abstract so as long as all its subclasses declare a serialVersionUID, like InternalError does, I think we're fine.
We need to check the serialization protocol but I'm pretty the object stream class of the supertype goes into the stream too. Also I quickly checked an an up-to-date build of jdk8/tl and its currently unable to deserialize streams contain any of the virtual machine errors like OutOfMemoryError, StackOverflowError, etc.

*sigh*

Thanks for checking on this Alan; I'll prepare a changeset with the explicit serialVersionUID on InternalError.

-Joe


Reply via email to