提交 0e12ab6d 编写于 作者: M miroslawzn

6877056: SVUID calculated for java.lang.Enum is not 0L

Reviewed-by: raginip
上级 7b25fbb7
...@@ -85,6 +85,9 @@ public class ObjectStreamClass implements java.io.Serializable { ...@@ -85,6 +85,9 @@ public class ObjectStreamClass implements java.io.Serializable {
private static Hashtable translatedFields; private static Hashtable translatedFields;
/** true if represents enum type */
private boolean isEnum;
private static final Bridge bridge = private static final Bridge bridge =
(Bridge)AccessController.doPrivileged( (Bridge)AccessController.doPrivileged(
new PrivilegedAction() { new PrivilegedAction() {
...@@ -359,6 +362,7 @@ public class ObjectStreamClass implements java.io.Serializable { ...@@ -359,6 +362,7 @@ public class ObjectStreamClass implements java.io.Serializable {
} }
name = cl.getName(); name = cl.getName();
isEnum = Enum.class.isAssignableFrom(cl);
superclass = superdesc; superclass = superdesc;
serializable = serial; serializable = serial;
if (!forProxyClass) { if (!forProxyClass) {
...@@ -401,7 +405,8 @@ public class ObjectStreamClass implements java.io.Serializable { ...@@ -401,7 +405,8 @@ public class ObjectStreamClass implements java.io.Serializable {
if (!serializable || if (!serializable ||
externalizable || externalizable ||
forProxyClass || forProxyClass ||
name.equals("java.lang.String")) { name.equals("java.lang.String") ||
isEnum) {
fields = NO_FIELDS; fields = NO_FIELDS;
} else if (serializable) { } else if (serializable) {
/* Ask for permission to override field access checks. /* Ask for permission to override field access checks.
...@@ -502,7 +507,7 @@ public class ObjectStreamClass implements java.io.Serializable { ...@@ -502,7 +507,7 @@ public class ObjectStreamClass implements java.io.Serializable {
* *
* NonSerializable classes have a serialVerisonUID of 0L. * NonSerializable classes have a serialVerisonUID of 0L.
*/ */
if (isNonSerializable()) { if (isNonSerializable() || isEnum) {
suid = 0L; suid = 0L;
} else { } else {
// Lookup special Serializable members using reflection. // Lookup special Serializable members using reflection.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册