diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-14 19:49:06 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-14 19:49:06 +0000 |
| commit | 4ee3bd0d172dc9e34b03f65153eb6e3d7bfa0d20 (patch) | |
| tree | ab7dd5060efb791ab5ae7d301b79c9216964368c /libjava/java | |
| parent | 2f72d0c8a78b2ac33ced82e151574af11ef45e97 (diff) | |
| download | ppe42-gcc-4ee3bd0d172dc9e34b03f65153eb6e3d7bfa0d20.tar.gz ppe42-gcc-4ee3bd0d172dc9e34b03f65153eb6e3d7bfa0d20.zip | |
1999-08-14 Per Bothner <per@bothner.com>
* resolve.cc (_Jv_PrepareClass): Use ClassLoader::resolveClass0.
* java/lang/natClass.cc (initializeClass): Likewise.
* java/lang/ClassLoader.java (resolveClass0): New static method.
(resolveClass): Call resolveClass0.
(findSystemClass): No longer static.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28711 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
| -rw-r--r-- | libjava/java/lang/ClassLoader.java | 19 | ||||
| -rw-r--r-- | libjava/java/lang/natClass.cc | 2 |
2 files changed, 9 insertions, 12 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java index f0b533f6041..3135740a88e 100644 --- a/libjava/java/lang/ClassLoader.java +++ b/libjava/java/lang/ClassLoader.java @@ -23,10 +23,6 @@ import java.util.Stack; * @author Kresten Krab Thorup */ -/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 - * Status: Just a stub; not useful at all. - */ - public abstract class ClassLoader { static private ClassLoader system; @@ -225,16 +221,17 @@ public abstract class ClassLoader { * For historical reasons, this method has a name which is easily * misunderstood. Java classes are never ``resolved''. Classes are * linked; whereas method and field references are resolved. - * <P> - * FIXME: The JDK documentation declares this method - * <code>final</code>, we declare it <code>static</code> -- any - * objections? This allows us to call it directly from native code - * with less hassle. * * @param clazz the class to link. * @exception java.lang.LinkageError */ - protected static void resolveClass(Class clazz) + protected final void resolveClass(Class clazz) + throws java.lang.LinkageError + { + resolveClass0(clazz); + } + + static void resolveClass0(Class clazz) throws java.lang.LinkageError { synchronized (clazz) @@ -273,7 +270,7 @@ public abstract class ClassLoader { * @exception java.lang.LinkageError * @exception java.lang.ClassNotFoundException */ - protected native static Class findSystemClass(String name) + protected native Class findSystemClass(String name) throws java.lang.ClassNotFoundException, java.lang.LinkageError; /* diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 367f14abb0f..01058dc0e6b 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -398,7 +398,7 @@ java::lang::Class::initializeClass (void) #ifdef INTERPRETER if (_Jv_IsInterpretedClass (this)) { - java::lang::ClassLoader::resolveClass (this); + java::lang::ClassLoader::resolveClass0 (this); // Step 1. _Jv_MonitorEnter (this); |

