diff options
author | Tom Tromey <tromey@redhat.com> | 2001-03-09 01:35:54 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-03-09 01:35:54 +0000 |
commit | 6771219aaaea365352a4edece9d20f5e74460896 (patch) | |
tree | 92da805f14b5e60dbd6309e9717aa67525b93e34 /libjava/java/io | |
parent | bb6852eb7229774a6c6b3edbe3583aaeea4a3488 (diff) | |
download | gcc-6771219aaaea365352a4edece9d20f5e74460896.zip gcc-6771219aaaea365352a4edece9d20f5e74460896.tar.gz gcc-6771219aaaea365352a4edece9d20f5e74460896.tar.bz2 |
re PR libgcj/1971 (ObjectOutputStream generates incorrect serialVersionUID's for array classes)
* java/io/ObjectStreamClass.java (setUID): Don't write interface
info for array classes.
Fixes PR libgcj/1971.
From-SVN: r40337
Diffstat (limited to 'libjava/java/io')
-rw-r--r-- | libjava/java/io/ObjectStreamClass.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java index d7306f8..eca172a 100644 --- a/libjava/java/io/ObjectStreamClass.java +++ b/libjava/java/io/ObjectStreamClass.java @@ -444,11 +444,15 @@ public class ObjectStreamClass implements Serializable | Modifier.INTERFACE | Modifier.PUBLIC); data_out.writeInt (modifiers); - Class[] interfaces = cl.getInterfaces (); - Arrays.sort (interfaces, interfaceComparator); - for (int i=0; i < interfaces.length; i++) - data_out.writeUTF (interfaces[i].getName ()); - + // Pretend that an array has no interfaces, because when array + // serialization was defined (JDK 1.1), arrays didn't have it. + if (! cl.isArray ()) + { + Class[] interfaces = cl.getInterfaces (); + Arrays.sort (interfaces, interfaceComparator); + for (int i=0; i < interfaces.length; i++) + data_out.writeUTF (interfaces[i].getName ()); + } Field field; Field[] fields = cl.getDeclaredFields (); |