Additional -Xlint:serial warning

Florian Weimer fweimer at
Wed Aug 4 04:50:22 PDT 2010

The JLS does not provide binary compatibility for compiler-generated
fields (such as reference to an outer class object from an inner class
object).  This means that there is no reliable way to use such classes
in serialization even if all involved classes implement  A mere recompilation of unchanged sources might
result in different compiler-generated names.

Would it make sense to enhance -Xlint:serial to warn about classes
which implement and contain compiler-generated

PS: This is quite different from the frequently observed issue where a
non-static inner class cannot be serialized because the outer class is
not serializable.  Serialization works fine, but deserialization
silently results in invalid objects.

Florian Weimer                <fweimer at>
BFK edv-consulting GmbH
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99

More information about the compiler-dev mailing list