diff options
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/java/io/ObjectStreamField.java | 1 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/Serialization.java | 32 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/Serialization.out | 3 |
4 files changed, 43 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 502d3e8..8cb5ecb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,4 +1,11 @@ -2004-07-23 Mark Wielaard <mark@klomp.org> +2004-07-23 Bryce McKinlay <mckinlay@redhat.com> + + * java/io/ObjectStreamField (ObjectStreamField): Don't unset 'toset' for final + fields. + * testsuite/libjava.lang/Serialization.java: New test. + * testsuite/libjava.lang/Serialization.out: New. + +2004-07-23 Bryce McKinlay <mckinlay@redhat.com> * gnu/java/net/DefaultContentHandlerFactory.java: Check in real file missed in last commit. diff --git a/libjava/java/io/ObjectStreamField.java b/libjava/java/io/ObjectStreamField.java index 830a349..ab7c934 100644 --- a/libjava/java/io/ObjectStreamField.java +++ b/libjava/java/io/ObjectStreamField.java @@ -65,7 +65,6 @@ public class ObjectStreamField implements Comparable { this (field.getName(), field.getType()); this.field = field; - toset = !Modifier.isFinal(field.getModifiers()); } /** diff --git a/libjava/testsuite/libjava.lang/Serialization.java b/libjava/testsuite/libjava.lang/Serialization.java new file mode 100644 index 0000000..8178753 --- /dev/null +++ b/libjava/testsuite/libjava.lang/Serialization.java @@ -0,0 +1,32 @@ +import java.io.*; +import java.util.*; + +public class Serialization +{ + public static void main(String[] args) + throws IOException, ClassNotFoundException + { + File f = new File("test.ser"); + ObjectOutputStream objStream = + new ObjectOutputStream(new FileOutputStream(f)); + objStream.writeInt(8); + objStream.writeObject(new Integer(99)); + List l = new LinkedList(); + l.add(new Integer(1)); + l.add(new Short((short) 7)); + l.add(new Float(9.95)); + l.add(new Long(-900000000000001l)); + l.add(new Double(-3.14159)); + l.add(new Character('X')); + l.add(new Byte((byte) 'z')); + objStream.writeObject(l); + objStream.close(); + + ObjectInputStream ois = new ObjectInputStream(new FileInputStream(f)); + System.out.println (ois.readInt()); + System.out.println (ois.readObject()); + System.out.println (ois.readObject()); + ois.close(); + f.delete(); + } +} diff --git a/libjava/testsuite/libjava.lang/Serialization.out b/libjava/testsuite/libjava.lang/Serialization.out new file mode 100644 index 0000000..9c4e5d0 --- /dev/null +++ b/libjava/testsuite/libjava.lang/Serialization.out @@ -0,0 +1,3 @@ +8 +99 +[1, 7, 9.95, -900000000000001, -3.14159, X, 122] |