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
This commit is contained in:
Dalibor Topic 2003-12-02 17:05:40 +00:00 committed by Michael Koch
parent a104538631
commit 23757fa5ca
2 changed files with 40 additions and 1 deletions

View File

@ -1,3 +1,19 @@
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.
2003-12-02 Fernando Nasser <fnasser@redhat.com>
* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New

View File

@ -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);
}
/**
@ -349,6 +353,25 @@ public class Hashtable extends Dictionary
* @since 1.2
*/
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--)
{