ClassLoader.java (loadClass): Resolve class even if it was already found.
authorTom Tromey <tromey@redhat.com>
Mon, 4 Apr 2005 18:40:24 +0000 (18:40 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 4 Apr 2005 18:40:24 +0000 (18:40 +0000)
* java/lang/ClassLoader.java (loadClass): Resolve class even if
it was already found.

From-SVN: r97565

libjava/ChangeLog
libjava/java/lang/ClassLoader.java

index 59c6d972e2d6f7cf7f93eb3f5648ec1a5dc919e5..f9a7617d7e3eaeb6942cb56f121b25d584d94447 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-04  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/ClassLoader.java (loadClass): Resolve class even if
+       it was already found.
+
 2005-04-04  Tom Tromey  <tromey@redhat.com>
 
        * java/net/URL.java (DEFAULT_SEARCH_PATH): Added
index f2beaac97f672dc6e26595a7ff9186f92c074338..db68e60ba8db51a2d86e0f299a8454b445abe057 100644 (file)
@@ -285,28 +285,28 @@ public abstract class ClassLoader
   {
     // Have we already loaded this class?
     Class c = findLoadedClass(name);
-    if (c != null)
-      return c;
-
-    // Can the class be loaded by a parent?
-    try
+    if (c == null)
       {
-       if (parent == null)
+       // Can the class be loaded by a parent?
+       try
          {
-           c = VMClassLoader.loadClass(name, resolve);
-           if (c != null)
-             return c;
+           if (parent == null)
+             {
+               c = VMClassLoader.loadClass(name, resolve);
+               if (c != null)
+                 return c;
+             }
+           else
+             {
+               return parent.loadClass(name, resolve);
+             }
          }
-       else
+       catch (ClassNotFoundException e)
          {
-           return parent.loadClass(name, resolve);
          }
+       // Still not found, we have to do it ourself.
+       c = findClass(name);
       }
-    catch (ClassNotFoundException e)
-      {
-      }
-    // Still not found, we have to do it ourself.
-    c = findClass(name);
     if (resolve)
       resolveClass(c);
     return c;