ObjectInputStream.java: Made all calls to dumpElement[ln] conditional on dump flag.
authorJeroen Frijters <jeroen@frijters.net>
Fri, 6 Feb 2004 13:27:36 +0000 (13:27 +0000)
committerMichael Koch <mkoch@gcc.gnu.org>
Fri, 6 Feb 2004 13:27:36 +0000 (13:27 +0000)
commit2941cc061a7a0cafdfa0aec2be9387c92b590625
treefb6663e4a39d87f86d5337e6215ad1769df33c95
parenteb457a7a0791d32d9b0df5ff8425abe59a9bee75
ObjectInputStream.java: Made all calls to dumpElement[ln] conditional on dump flag.

2004-02-06  Jeroen Frijters  <jeroen@frijters.net>

* java/io/ObjectInputStream.java: Made all calls
to dumpElement[ln] conditional on dump flag. (readObject): Changed to
use cached info from ObjectStreamClass. (readClassDescriptor):
Cache more information in ObjectStreamClass. (processResolution,
readFields): Use cached info from ObjectStreamClass.
(newObject): Throw exception instead of returning null for failure.
(getField, getMethod, callReadMethod, setBooleanField, setByteField,
setCharField, setDoubleField, setFloatField, setIntField,
setLongField, setShortField, setObjectField, readObjectParams):
Removed. (dumpElement, dumpElementln): Removed dump flag condition
check.
* java/io/ObjectStreamField.java (hasReadMethod): Removed.
(setClass): Added call to cacheMethods() (findMethod): New method.
(cacheMethods): New method. (ObjectStreamClass): Added call to
cacheMethods(). (setFields): Cache fields. (getClassUID): Use
AccessController.doPrivileged to invoke setAccessible.
(readObjectMethod, readResolveMethod, realClassIsSerializable,
realClassIsExternalizable, fieldMapping, firstNonSerializableParent):
New fields.
* java/io/ObjectStreamField.java (ObjectStreamField): New constructor.
(ObjectStreamField): Removed FIXME workaround. (getTypeString,
isPrimitive): Made safe for cases where type == null.
(setBooleanField, setByteField, setCharField, setShortField,
setIntField, setLongField, setFloatField, setDoubleField,
setObjectField): New methods.

From-SVN: r77395
libjava/ChangeLog
libjava/java/io/ObjectInputStream.java
libjava/java/io/ObjectStreamClass.java
libjava/java/io/ObjectStreamField.java