diff options
Diffstat (limited to 'libjava/classpath/java/io/ObjectStreamClass.java')
-rw-r--r-- | libjava/classpath/java/io/ObjectStreamClass.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libjava/classpath/java/io/ObjectStreamClass.java b/libjava/classpath/java/io/ObjectStreamClass.java index cc3d0a9e31f..1f3ba73dc99 100644 --- a/libjava/classpath/java/io/ObjectStreamClass.java +++ b/libjava/classpath/java/io/ObjectStreamClass.java @@ -799,6 +799,14 @@ outer: result = cache.longValue(); else { + // Note that we can't use Class.isEnum() here, because that returns + // false for java.lang.Enum and enum value sub classes. + if (Enum.class.isAssignableFrom(cl) || Proxy.isProxyClass(cl)) + { + // Spec says that enums and dynamic proxies have + // a serialVersionUID of 0L. + return 0L; + } try { result = getClassUIDFromField(cl); |