diff options
author | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-26 14:31:29 +0000 |
---|---|---|
committer | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-26 14:31:29 +0000 |
commit | 04562e6b1c585a68a8278bd83e3a521546efa117 (patch) | |
tree | 5adf7762dc6581c91705a6569ffe2b0e7aa990f5 /libjava/classpath/java/io/ObjectOutputStream.java | |
parent | 7938709957fc04becafae60bf202f5d21064c371 (diff) | |
download | ppe42-gcc-04562e6b1c585a68a8278bd83e3a521546efa117.tar.gz ppe42-gcc-04562e6b1c585a68a8278bd83e3a521546efa117.zip |
2007-04-25 Andrew Haley <aph@redhat.com>
* java/io/ObjectStreamClass.java (ensureFieldsSet): New method.
(setFields): call ensureFieldsSet.
(fieldsSet): New field.
* java/io/ObjectOutputStream.java (writeFields): Call
osc.ensureFieldsSet().
* java/io/ObjectInputStream.java (parseContent): Assign the handle
for a PROXYCLASSDESC immediately after reading the marker.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/io/ObjectOutputStream.java')
-rw-r--r-- | libjava/classpath/java/io/ObjectOutputStream.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java index eac11f78db9..316b9070133 100644 --- a/libjava/classpath/java/io/ObjectOutputStream.java +++ b/libjava/classpath/java/io/ObjectOutputStream.java @@ -1211,11 +1211,17 @@ public class ObjectOutputStream extends OutputStream } +/* GCJ LOCAL */ // writes out FIELDS of OBJECT for the specified ObjectStreamClass. - // FIELDS are already in canonical order. + // FIELDS are already supposed already to be in canonical order, but + // under some circumstances (to do with Proxies) this isn't the + // case, so we call ensureFieldsSet(). private void writeFields(Object obj, ObjectStreamClass osc) throws IOException { + osc.ensureFieldsSet(osc.forClass()); +/* END GCJ LOCAL */ + ObjectStreamField[] fields = osc.fields; boolean oldmode = setBlockDataMode(false); |