summaryrefslogtreecommitdiff
path: root/libjava/java/util
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-02 17:05:40 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-12-02 17:05:40 +0000
commit2bb8dba11d52923107d82e3ef34926d24da288dc (patch)
tree45b6fc81c77e398fa46926214c3805769035ed44 /libjava/java/util
parent4de127bae03d70226defa6981d39eb4c421fe7ce (diff)
downloadgcc-2bb8dba11d52923107d82e3ef34926d24da288dc.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74190 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/util')
-rw-r--r--libjava/java/util/Hashtable.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java
index b0de0a231b8..d19b2fbbc81 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];