diff options
| author | Andrew Haley <aph@gcc.gnu.org> | 2007-04-26 14:31:29 +0000 |
|---|---|---|
| committer | Andrew Haley <aph@gcc.gnu.org> | 2007-04-26 14:31:29 +0000 |
| commit | 5c12b59bd81874f851587c08a83dd7932ebf9114 (patch) | |
| tree | 5adf7762dc6581c91705a6569ffe2b0e7aa990f5 /libjava/classpath/java/io/ObjectOutputStream.java | |
| parent | 02cba8dfe4e337517390a0763b3248ea1216b52b (diff) | |
ObjectStreamClass.java (ensureFieldsSet): New method.
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.
From-SVN: r124187
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); |
