diff options
author | Dalibor Topic <robilad@kaffe.org> | 2003-12-02 17:05:40 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-12-02 17:05:40 +0000 |
commit | 23757fa5cad4d74aee6e0b3a7665685778010437 (patch) | |
tree | 45b6fc81c77e398fa46926214c3805769035ed44 /libjava/java | |
parent | a1045386316fccf1a884820f8ce0589ecf8dcdd9 (diff) | |
download | gcc-23757fa5cad4d74aee6e0b3a7665685778010437.zip gcc-23757fa5cad4d74aee6e0b3a7665685778010437.tar.gz gcc-23757fa5cad4d74aee6e0b3a7665685778010437.tar.bz2 |
Reported by: Jim Pick <jim@kaffe.org>
2003-12-02 Dalibor Topic <robilad@kaffe.org>
Reported by: Jim Pick <jim@kaffe.org>
* libraries/javalib/java/util/Hashtable.java
(internalcontainsValue): New method.
(contains): Delegate to internalContainsValue.
Reported by: Mark Wielaard <mark@klomp.org>
* libraries/javalib/java/util/Hashtable.java
(contains): Improved comment.
Reported by: Jeroen Frijters <jeroen@frijters.net>
* libraries/javalib/java/util/Hashtable.java
(containsValue): Delegate to contains(Object) to make sure older
code overwriting it continues to work.
From-SVN: r74190
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/util/Hashtable.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java index b0de0a2..d19b2fb 100644 --- a/libjava/java/util/Hashtable.java +++ b/libjava/java/util/Hashtable.java @@ -333,7 +333,11 @@ public class Hashtable extends Dictionary */ public synchronized boolean contains(Object value) { - return containsValue(value); + /* delegate to non-overridable worker method + * to avoid blowing up the stack, when called + * from overridden contains[Value]() method. + */ + return internalContainsValue(value); } /** @@ -350,6 +354,25 @@ public class Hashtable extends Dictionary */ public boolean containsValue(Object value) { + /* delegate to older method to make sure code overwriting it + * continues to work. + */ + return contains(value); + } + + /** + * Returns true if this Hashtable contains a value <code>o</code>, such that + * <code>o.equals(value)</code>. This is an internal worker method + * called by <code>contains()</code> and <code>containsValue()</code>. + * + * @param value the value to search for in this Hashtable + * @return true if at least one key maps to the value + * @see #contains(Object) + * @see #containsKey(Object) + * @throws NullPointerException if <code>value</code> is null + */ + private boolean internalContainsValue(Object value) + { for (int i = buckets.length - 1; i >= 0; i--) { HashEntry e = buckets[i]; |