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

Wed, 08 Dec 2010 10:43:16 -0800

author
miroslawzn
date
Wed, 08 Dec 2010 10:43:16 -0800
changeset 235
5d9708346d50
parent 234
e6f42f5d6d60
child 236
33ca1bceec2d

6877056: SVUID calculated for java.lang.Enum is not 0L
Reviewed-by: raginip

src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	Sun Dec 05 15:20:25 2010 -0800
     1.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	Wed Dec 08 10:43:16 2010 -0800
     1.3 @@ -85,6 +85,9 @@
     1.4  
     1.5      private static Hashtable translatedFields;
     1.6  
     1.7 +    /** true if represents enum type */
     1.8 +    private boolean isEnum;
     1.9 +
    1.10      private static final Bridge bridge =
    1.11          (Bridge)AccessController.doPrivileged(
    1.12              new PrivilegedAction() {
    1.13 @@ -359,6 +362,7 @@
    1.14          }
    1.15  
    1.16          name = cl.getName();
    1.17 +        isEnum = Enum.class.isAssignableFrom(cl);
    1.18          superclass = superdesc;
    1.19          serializable = serial;
    1.20          if (!forProxyClass) {
    1.21 @@ -401,7 +405,8 @@
    1.22          if (!serializable ||
    1.23              externalizable ||
    1.24              forProxyClass ||
    1.25 -            name.equals("java.lang.String")) {
    1.26 +            name.equals("java.lang.String") ||
    1.27 +            isEnum) {
    1.28              fields = NO_FIELDS;
    1.29          } else if (serializable) {
    1.30              /* Ask for permission to override field access checks.
    1.31 @@ -502,7 +507,7 @@
    1.32           *
    1.33           * NonSerializable classes have a serialVerisonUID of 0L.
    1.34           */
    1.35 -         if (isNonSerializable()) {
    1.36 +         if (isNonSerializable() || isEnum) {
    1.37               suid = 0L;
    1.38           } else {
    1.39               // Lookup special Serializable members using reflection.

mercurial