OSDN Git Service

Fix for PR java/2040:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Feb 2001 04:16:07 +0000 (04:16 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Feb 2001 04:16:07 +0000 (04:16 +0000)
* java/util/HashMap.java (HashMap): Don't throw exception for
loadFactor > 1. Add exception messages.
* java/util/Hashtable.java (Hashtable): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39969 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/java/util/HashMap.java
libjava/java/util/Hashtable.java

index 2693f74..4b73b5c 100644 (file)
@@ -1,3 +1,10 @@
+2001-02-22  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       Fix for PR java/2040:
+       * java/util/HashMap.java (HashMap): Don't throw exception for 
+       loadFactor > 1. Add exception messages.
+       * java/util/Hashtable.java (Hashtable): Likewise.
+
 2001-02-20  Tom Tromey  <tromey@redhat.com>
 
        * java/io/PipedWriter.java (flush): Throw exception if stream
index 6304333..bf10e9e 100644 (file)
@@ -60,8 +60,6 @@ import java.io.ObjectOutputStream;
  * @author         Jon Zeppieri
  * @author         Jochen Hoenicke
  * @author        Bryce McKinlay
- * @version        $Revision: 1.4 $
- * @modified       $Id: HashMap.java,v 1.4 2000/12/21 02:00:15 bryce Exp $
  */
 public class HashMap extends AbstractMap
   implements Map, Cloneable, Serializable
@@ -160,14 +158,16 @@ public class HashMap extends AbstractMap
    * 
    * @throws   IllegalArgumentException    if (initialCapacity < 0) ||
    *                                          (initialLoadFactor > 1.0) ||
-   *                                          (initialLoadFactor <= 0.0)
    */
   public HashMap(int initialCapacity, float loadFactor)
     throws IllegalArgumentException
   {
-    if (initialCapacity < 0 || loadFactor <= 0 || loadFactor > 1)
-      throw new IllegalArgumentException();
-    
+    if (initialCapacity < 0)
+      throw new IllegalArgumentException("Illegal Initial Capacity: " 
+                                        + initialCapacity);    
+    if (loadFactor <= 0)
+      throw new IllegalArgumentException("Illegal Load Factor: " + loadFactor);
+  
     buckets = new Entry[initialCapacity];
     this.loadFactor = loadFactor;
     this.threshold = (int) (initialCapacity * loadFactor);
@@ -619,8 +619,6 @@ public class HashMap extends AbstractMap
    * keys, values, or entries.
    *
    * @author       Jon Zeppieri
-   * @version      $Revision: 1.4 $
-   * @modified     $Id: HashMap.java,v 1.4 2000/12/21 02:00:15 bryce Exp $
    */
   class HashIterator implements Iterator
   {
index 9585872..4fd8167 100644 (file)
@@ -64,8 +64,6 @@ import java.io.ObjectOutputStream;
  * @author      Jon Zeppieri
  * @author     Warren Levy
  * @author      Bryce McKinlay
- * @version     $Revision: 1.9 $
- * @modified    $Id: Hashtable.java,v 1.9 2000/12/17 09:15:51 bryce Exp $
  */
 public class Hashtable extends Dictionary 
   implements Map, Cloneable, Serializable
@@ -171,15 +169,17 @@ public class Hashtable extends Dictionary
    * @param   loadFactor       the load factor
    * 
    * @throws   IllegalArgumentException    if (initialCapacity < 0) ||
-   *                                          (initialLoadFactor > 1.0) ||
    *                                          (initialLoadFactor <= 0.0)
    */
   public Hashtable(int initialCapacity, float loadFactor)
     throws IllegalArgumentException
   {
-    if (initialCapacity < 0 || loadFactor <= 0 || loadFactor > 1)
-      throw new IllegalArgumentException();
-    
+    if (initialCapacity < 0)
+      throw new IllegalArgumentException("Illegal Initial Capacity: " 
+                                        + initialCapacity);    
+    if (loadFactor <= 0)
+      throw new IllegalArgumentException("Illegal Load Factor: " + loadFactor);
+     
     buckets = new Entry[initialCapacity];
     this.loadFactor = loadFactor;
     this.threshold = (int) (initialCapacity * loadFactor);
@@ -721,8 +721,6 @@ public class Hashtable extends Dictionary
    * as per the Javasoft spec.
    *
    * @author       Jon Zeppieri
-   * @version      $Revision: 1.9 $
-   * @modified     $Id: Hashtable.java,v 1.9 2000/12/17 09:15:51 bryce Exp $
    */
   class HashIterator implements Iterator
   {
@@ -818,16 +816,15 @@ public class Hashtable extends Dictionary
    * elements; this implementation is parameterized to provide access either 
    * to the keys or to the values in the Hashtable.
    *
-   * <b>NOTE: Enumeration is not safe if new elements are put in the table as
-   * this could cause a rehash and we'd completely lose our place.  Even
+   * <b>NOTE</b>: Enumeration is not safe if new elements are put in the table
+   * as this could cause a rehash and we'd completely lose our place.  Even
    * without a rehash, it is undetermined if a new element added would
    * appear in the enumeration.  The spec says nothing about this, but
    * the "Java Class Libraries" book infers that modifications to the
    * hashtable during enumeration causes indeterminate results.  Don't do it!
    *
    * @author       Jon Zeppieri
-   * @version      $Revision: 1.9 $
-   * @modified $Id: Hashtable.java,v 1.9 2000/12/17 09:15:51 bryce Exp $ */
+   */
   class Enumerator implements Enumeration
   {
     static final int KEYS = 0;