| /* |
| * @test /nodynamiccopyright/ |
| * @bug 6356530 8191637 |
| * @summary -Xlint:serial does not flag abstract classes with persisent fields |
| * @compile/fail/ref=SerializableAbstractClassTest.out -XDrawDiagnostics -Werror -Xlint:serial SerializableAbstractClassTest.java |
| */ |
| |
| abstract class SerializableAbstractClassTest implements java.io.Serializable { |
| // no serialVersionUID; error |
| abstract void m2(); |
| |
| static abstract class AWithUID implements java.io.Serializable { |
| private static final long serialVersionUID = 0; |
| void m(){} |
| } |
| |
| interface I extends java.io.Serializable { |
| // no need for serialVersionUID |
| } |
| |
| interface IDefault extends java.io.Serializable { |
| // no need for serialVersionUID |
| default int m() { return 1; } |
| } |
| |
| interface IUID extends java.io.Serializable { |
| // no need for serialVersionUID, but not wrong |
| static final long serialVersionUID = 0; |
| } |
| } |