summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/java/io/ObjectStreamClass.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/java/io/ObjectStreamClass.java')
-rw-r--r--libjava/classpath/java/io/ObjectStreamClass.java8
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);
OpenPOWER on IntegriCloud