From 6c413a50e664e75c77f94aa1f441c1f876084140 Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Sun, 17 Oct 1999 03:11:50 +0000 Subject: ClassLoader.java (getSystemResource): Use getSystemClassLoader instead of ClassLoader.system. * java/lang/ClassLoader.java (getSystemResource): Use getSystemClassLoader instead of ClassLoader.system. (getSystemResourceAsStream): Ditto. * java/lang/natClassLoader.cc (redirect): Make static and remove #ifdef INTERPRETER so it is always defined. (getVMClassLoader0): Remove #ifdef INTERPRETER so it always returns a VMClassLoader. * java/util/ResourceBundle.java (trySomeGetBundle): Create a PropertyResourceBundle if a properties file is found before a ResourceBundle class. From-SVN: r30048 --- libjava/java/lang/ClassLoader.java | 4 ++-- libjava/java/lang/natClassLoader.cc | 14 ++++---------- libjava/java/util/ResourceBundle.java | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 12 deletions(-) (limited to 'libjava/java') diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java index 4d520bb..f04868d 100644 --- a/libjava/java/lang/ClassLoader.java +++ b/libjava/java/lang/ClassLoader.java @@ -360,11 +360,11 @@ public abstract class ClassLoader { protected native Class findLoadedClass(String name); public static final InputStream getSystemResourceAsStream(String name) { - return system.getResourceAsStream (name); + return getSystemClassLoader().getResourceAsStream (name); } public static final URL getSystemResource(String name) { - return system.getResource (name); + return getSystemClassLoader().getResource (name); } /** diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index 9ad81a8..af4a4fa 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -48,20 +48,14 @@ extern java::lang::Class ClassLoaderClass; /////////// java.lang.ClassLoader native methods //////////// -#ifdef INTERPRETER -gnu::gcj::runtime::VMClassLoader *redirect = 0; -#endif +static gnu::gcj::runtime::VMClassLoader *redirect = 0; java::lang::ClassLoader* java::lang::ClassLoader::getVMClassLoader0 () { -#ifdef INTERPRETER - if (redirect == 0) - redirect = new gnu::gcj::runtime::VMClassLoader; - return redirect; -#else - return 0; -#endif + if (redirect == 0) + redirect = new gnu::gcj::runtime::VMClassLoader; + return redirect; } void diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java index 5a2002a..0c078cc 100644 --- a/libjava/java/util/ResourceBundle.java +++ b/libjava/java/util/ResourceBundle.java @@ -8,6 +8,8 @@ details. */ package java.util; +import java.io.InputStream; + /** * @author Anthony Green * @date November 26, 1998. @@ -106,6 +108,23 @@ public abstract class ResourceBundle // Fall through. } + // Look for a properties file. + { + InputStream i = + ClassLoader.getSystemResourceAsStream (bundleName.replace ('.', '/') + + ".properties"); + if (i != null) + { + try { + return new PropertyResourceBundle (i); + } catch (java.io.IOException e) { + // The docs don't appear to define what happens in + // this case, but it seems like continuing the + // search is a reasonable thing to do. + } + } + } + if (bundleName.equals(stopHere)) return result; else -- cgit v1.1