aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2002-11-04 06:17:55 +0000
committerTom Tromey <tromey@gcc.gnu.org>2002-11-04 06:17:55 +0000
commit957e3aef4c72448854b1d614f010c8006b8054fa (patch)
tree461394b2bcec625647d6fa1ce4255e5e9df38ea4 /libjava/java/lang
parent2ff363e01126d51253d98ec8334dbab24c1830ca (diff)
downloadgcc-957e3aef4c72448854b1d614f010c8006b8054fa.zip
gcc-957e3aef4c72448854b1d614f010c8006b8054fa.tar.gz
gcc-957e3aef4c72448854b1d614f010c8006b8054fa.tar.bz2
ClassLoader.java (loadClass): Call loadClass on VMClassLoader, not findClass.
* java/lang/ClassLoader.java (loadClass): Call loadClass on VMClassLoader, not findClass. From-SVN: r58786
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/ClassLoader.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
index 2c0e211..1b3b310 100644
--- a/libjava/java/lang/ClassLoader.java
+++ b/libjava/java/lang/ClassLoader.java
@@ -177,14 +177,18 @@ public abstract class ClassLoader
if (c == null)
{
- try {
- if (parent != null)
- return parent.loadClass (name, link);
- else
- c = gnu.gcj.runtime.VMClassLoader.instance.findClass (name);
- } catch (ClassNotFoundException ex) {
- /* ignore, we'll try findClass */;
- }
+ try
+ {
+ ClassLoader cl = parent;
+ if (parent == null)
+ cl = gnu.gcj.runtime.VMClassLoader.instance;
+ if (cl != this)
+ c = cl.loadClass (name, link);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ /* ignore, we'll try findClass */;
+ }
}
if (c == null)