diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-24 09:05:10 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-24 09:05:10 +0000 |
commit | 881dfb65bfb4b3ed6d12eb0b9e6af30a9bb87015 (patch) | |
tree | fafed187ed98f844353a70527ed246a64b37301c /libjava/java/io/ObjectInputStream.java | |
parent | 0240683da9e4844dbf354edd29d3abacce3aad86 (diff) | |
download | ppe42-gcc-881dfb65bfb4b3ed6d12eb0b9e6af30a9bb87015.tar.gz ppe42-gcc-881dfb65bfb4b3ed6d12eb0b9e6af30a9bb87015.zip |
2004-09-24 Jeroen Frijters <jeroen@frijters.net>
* java/io/ObjectInputStream.java (readObject): Delegate instantation
of Externalizable classes to ObjectStreamClass.
* java/io/ObjectStreamClass.java (newInstance): New method to
instantiate Externalizable (while ignoring the accessibility of
the constructor). (constructor): New field to cache the constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88019 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io/ObjectInputStream.java')
-rw-r--r-- | libjava/java/io/ObjectInputStream.java | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/libjava/java/io/ObjectInputStream.java b/libjava/java/io/ObjectInputStream.java index 809e9b1c941..b9bba27b09b 100644 --- a/libjava/java/io/ObjectInputStream.java +++ b/libjava/java/io/ObjectInputStream.java @@ -291,29 +291,7 @@ public class ObjectInputStream extends InputStream if (osc.realClassIsExternalizable) { - Externalizable obj = null; - - try - { - obj = (Externalizable)clazz.newInstance(); - } - catch (InstantiationException e) - { - throw new ClassNotFoundException - ("Instance of " + clazz + " could not be created"); - } - catch (IllegalAccessException e) - { - throw new ClassNotFoundException - ("Instance of " + clazz + " could not be created because class or " - + "zero-argument constructor is not accessible"); - } - catch (NoSuchMethodError e) - { - throw new ClassNotFoundException - ("Instance of " + clazz - + " could not be created because zero-argument constructor is not defined"); - } + Externalizable obj = osc.newInstance(); int handle = assignNewHandle(obj); |