aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog15
-rw-r--r--libjava/java/lang/ClassLoader.java4
-rw-r--r--libjava/java/lang/natClassLoader.cc14
-rw-r--r--libjava/java/util/ResourceBundle.java19
4 files changed, 40 insertions, 12 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 4f37d8a..0e6761c 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,18 @@
+1999-10-16 Anthony Green <green@cygnus.com>
+
+ * 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.
+
1999-10-15 Tom Tromey <tromey@cygnus.com>
* gij.cc (main): Formatting fixes.
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 <green@cygnus.com>
* @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