aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/ObjectInputStream.java
diff options
context:
space:
mode:
authorJeroen Frijters <jeroen@frijters.net>2004-09-24 09:05:10 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2004-09-24 09:05:10 +0000
commit73eb130916f39f689a0c6089e4ee699d89f85907 (patch)
treefafed187ed98f844353a70527ed246a64b37301c /libjava/java/io/ObjectInputStream.java
parent8ac4bd37068ea73ca55ebeaba16ec72709f0d617 (diff)
downloadgcc-73eb130916f39f689a0c6089e4ee699d89f85907.zip
gcc-73eb130916f39f689a0c6089e4ee699d89f85907.tar.gz
gcc-73eb130916f39f689a0c6089e4ee699d89f85907.tar.bz2
ObjectInputStream.java (readObject): Delegate instantation of Externalizable classes to ObjectStreamClass.
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. From-SVN: r88019
Diffstat (limited to 'libjava/java/io/ObjectInputStream.java')
-rw-r--r--libjava/java/io/ObjectInputStream.java24
1 files changed, 1 insertions, 23 deletions
diff --git a/libjava/java/io/ObjectInputStream.java b/libjava/java/io/ObjectInputStream.java
index 809e9b1..b9bba27 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);