2003-12-23 Guilhem Lavaux <guilhem@kaffe.org>

* java/io/ObjectInputStream.java
	(getField): Handle transient and non persistent fields.
	(readClassDescriptor): Better error handling, use the right
	class loader.
	(readFields): Fields marked as not present in the stream
	or not to be set are not read and set.
	* java/io/ObjectInputStream.java
	(readFields): Changed implementation of GetField.
	(readClassDescriptor): Documented.
	* java/io/ObjectOutputStream.java
	(writeClassDescriptor): Added condition when to write class super
	class information.

From-SVN: r74985
This commit is contained in:
Guilhem Lavaux 2003-12-23 22:06:01 +00:00 committed by Michael Koch
parent f2073745a8
commit 692fb023ef
4 changed files with 358 additions and 44 deletions

View file

@ -407,7 +407,8 @@ public class ObjectOutputStream extends OutputStream
setBlockDataMode (oldmode);
realOutput.writeByte (TC_ENDBLOCKDATA);
if (osc.isSerializable ())
if (osc.isSerializable()
|| osc.isExternalizable())
writeObject (osc.getSuper ());
else
writeObject (null);