summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/java/io/ObjectOutputStream.java
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-26 14:31:29 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-26 14:31:29 +0000
commit04562e6b1c585a68a8278bd83e3a521546efa117 (patch)
tree5adf7762dc6581c91705a6569ffe2b0e7aa990f5 /libjava/classpath/java/io/ObjectOutputStream.java
parent7938709957fc04becafae60bf202f5d21064c371 (diff)
downloadppe42-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.java8
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);
OpenPOWER on IntegriCloud