diff options
author | Jeroen Frijters <jeroen@sumatra.nl> | 2007-06-21 06:19:26 +0000 |
---|---|---|
committer | Jeroen Frijters <jeroen@sumatra.nl> | 2007-06-21 06:19:26 +0000 |
commit | bd96790654725d49b761f74f61ab26a2c11d3ee5 (patch) | |
tree | ef49136de9bc50784bbcc8f46c49c7e585cd3bfa | |
parent | 3ba9b259728656bfda2eed6cf438e13275b305ca (diff) | |
download | classpath-bd96790654725d49b761f74f61ab26a2c11d3ee5.tar.gz |
2007-06-21 Jeroen Frijters <jeroen@frijters.net>
* java/io/ObjectStreamClass.java (getClassUID): Return 0L for
enums and proxies.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | java/io/ObjectStreamClass.java | 8 |
2 files changed, 13 insertions, 0 deletions
@@ -1,5 +1,10 @@ 2007-06-21 Jeroen Frijters <jeroen@frijters.net> + * java/io/ObjectStreamClass.java (getClassUID): Return 0L for + enums and proxies. + +2007-06-21 Jeroen Frijters <jeroen@frijters.net> + * java/net/URLClassLoader.java (URLClassLoader(URL[],ClassLoader,URLStreamHandlerFactory): Add factory to cache before calling addURLS. diff --git a/java/io/ObjectStreamClass.java b/java/io/ObjectStreamClass.java index 52a1ad428..70cb91090 100644 --- a/java/io/ObjectStreamClass.java +++ b/java/io/ObjectStreamClass.java @@ -781,6 +781,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); |