6a466fe7ae
8160675: Issue lint warning for non-serializable non-transient instance fields in serializable type Reviewed-by: erikj, sspitsyn, jlahoda, vromero, rriggs, smarks
39 lines
1003 B
Java
39 lines
1003 B
Java
/*
|
|
* @test /nodynamiccopyright/
|
|
* @bug 8202056
|
|
* @compile/ref=EnumSerial.out -XDrawDiagnostics -Xlint:serial EnumSerial.java
|
|
*/
|
|
|
|
import java.io.*;
|
|
|
|
enum EnumSerial implements Serializable {
|
|
INSTANCE;
|
|
|
|
// Verify a warning is generated in an enum class for each of the
|
|
// distinguished serial fields and methods.
|
|
|
|
private static final long serialVersionUID = 42;
|
|
private static final ObjectStreamField[] serialPersistentFields = {};
|
|
|
|
private void writeObject(ObjectOutputStream stream) throws IOException {
|
|
stream.defaultWriteObject();
|
|
}
|
|
|
|
private Object writeReplace() throws ObjectStreamException {
|
|
return null;
|
|
}
|
|
|
|
private void readObject(ObjectInputStream stream)
|
|
throws IOException, ClassNotFoundException {
|
|
stream.defaultReadObject();
|
|
}
|
|
|
|
private void readObjectNoData() throws ObjectStreamException {
|
|
return;
|
|
}
|
|
|
|
private Object readResolve() throws ObjectStreamException {
|
|
return null;
|
|
}
|
|
}
|