diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-06-18 22:14:06 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-06-18 22:14:06 +0000 |
commit | d4d17e95f1b281a9db1c727870350206c77f0103 (patch) | |
tree | 9ccdcb530d815d09f19c1ab07bfd54136d0b2e85 /libjava/java | |
parent | 3b572406c28259bb8dbc1767937bcd965a64b18e (diff) | |
download | gcc-d4d17e95f1b281a9db1c727870350206c77f0103.zip gcc-d4d17e95f1b281a9db1c727870350206c77f0103.tar.gz gcc-d4d17e95f1b281a9db1c727870350206c77f0103.tar.bz2 |
re GNATS gcj/260 ("Klass.class" expression should cause Klass to be initialized)
* java/lang/natClass.cc (forName): Removed dead code. Initialize
returned class. For PR gcj/260.
From-SVN: r34590
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/lang/natClass.cc | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 995e631..33ab1a3 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -80,13 +80,6 @@ java::lang::Class::forName (jstring className) if (! className) JvThrow (new java::lang::NullPointerException); -#if 0 - // FIXME: should check syntax of CLASSNAME and throw - // IllegalArgumentException on failure. - - // FIXME: should use class loader from calling method. - jclass klass = _Jv_FindClass (className, NULL); -#else jsize length = _Jv_GetStringUTFLength (className); char buffer[length]; _Jv_GetStringUTFRegion (className, 0, length, buffer); @@ -99,8 +92,10 @@ java::lang::Class::forName (jstring className) jclass klass = (buffer[0] == '[' ? _Jv_FindClassFromSignature (name->data, NULL) : _Jv_FindClass (name, NULL)); -#endif - if (! klass) + + if (klass) + _Jv_InitClass (klass); + else JvThrow (new java::lang::ClassNotFoundException (className)); return klass; |