summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/util/Hashtable.java57
2 files changed, 23 insertions, 39 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 78b8c59abba..98210397a62 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-08 Bryce McKinlay <bryce@mckinlay.net.nz>
+
+ * java/util/Hashtable.java (internalContainsValue): Removed.
+ (containsValue): Don't delegate to internalContainsValue.
+
2003-12-06 Michael Koch <konqueror@gmx.de>
* javax/naming/directory/Attribute.java,
diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java
index d19b2fbbc81..9cfa925762a 100644
--- a/libjava/java/util/Hashtable.java
+++ b/libjava/java/util/Hashtable.java
@@ -333,11 +333,22 @@ public class Hashtable extends Dictionary
*/
public synchronized boolean contains(Object value)
{
- /* delegate to non-overridable worker method
- * to avoid blowing up the stack, when called
- * from overridden contains[Value]() method.
- */
- return internalContainsValue(value);
+ for (int i = buckets.length - 1; i >= 0; i--)
+ {
+ HashEntry e = buckets[i];
+ while (e != null)
+ {
+ if (value.equals(e.value))
+ return true;
+ e = e.next;
+ }
+ }
+
+ // Must throw on null argument even if the table is empty
+ if (value == null)
+ throw new NullPointerException();
+
+ return false;
}
/**
@@ -354,44 +365,12 @@ public class Hashtable extends Dictionary
*/
public boolean containsValue(Object value)
{
- /* delegate to older method to make sure code overwriting it
- * continues to work.
- */
+ // Delegate to older method to make sure code overriding 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];
- while (e != null)
- {
- if (value.equals(e.value))
- return true;
- e = e.next;
- }
- }
-
- // Must throw on null argument even if the table is empty
- if (value == null)
- throw new NullPointerException();
-
- return false;
- }
-
- /**
* Returns true if the supplied object <code>equals()</code> a key
* in this Hashtable.
*