summaryrefslogtreecommitdiffstats
path: root/libjava/java/util/ResourceBundle.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-25 17:09:46 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-25 17:09:46 +0000
commitc38a3aff914d4d187697b4c4674c2c005d1c7338 (patch)
treef3da158abcbba2b8469595747a1af75356de5fed /libjava/java/util/ResourceBundle.java
parent35d7e286856192c67cda82508e1ce6ff48cf94dd (diff)
downloadppe42-gcc-c38a3aff914d4d187697b4c4674c2c005d1c7338.tar.gz
ppe42-gcc-c38a3aff914d4d187697b4c4674c2c005d1c7338.zip
* java/util/ResourceBundle.java (tryBundle): Use
Class.isAssignableFrom rather than catching ClassCastException. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89542 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/util/ResourceBundle.java')
-rw-r--r--libjava/java/util/ResourceBundle.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java
index 3299c6ff825..a60471dcab5 100644
--- a/libjava/java/util/ResourceBundle.java
+++ b/libjava/java/util/ResourceBundle.java
@@ -473,12 +473,18 @@ public abstract class ResourceBundle
rbClass = Class.forName(localizedName);
else
rbClass = classloader.loadClass(localizedName);
- bundle = (ResourceBundle) rbClass.newInstance();
+ // Note that we do the check up front instead of catching
+ // ClassCastException. The reason for this is that some crazy
+ // programs (Eclipse) have classes that do not extend
+ // ResourceBundle but that have the same name as a property
+ // bundle; in fact Eclipse relies on ResourceBundle not
+ // instantiating these classes.
+ if (ResourceBundle.class.isAssignableFrom(rbClass))
+ bundle = (ResourceBundle) rbClass.newInstance();
}
catch (IllegalAccessException ex) {}
catch (InstantiationException ex) {}
catch (ClassNotFoundException ex) {}
- catch (ClassCastException ex) {}
if (bundle == null)
{
OpenPOWER on IntegriCloud