]> gcc.gnu.org Git - gcc.git/commitdiff
natClass.cc (getSignature): Don't try to dereference param_types if it is null.
authorBryce McKinlay <bryce@albatross.co.nz>
Wed, 14 Feb 2001 05:32:31 +0000 (05:32 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Wed, 14 Feb 2001 05:32:31 +0000 (05:32 +0000)
* java/lang/natClass.cc (getSignature): Don't try to dereference
param_types if it is null. Instead, take this to mean "no parameters".
* java/lang/TreeMap.java (TreeIterator.next): Throw
NoSuchElementException in preference to
ConcurrentModificationException.
(TreeIterator.remove): Throw IllegalStateException in preference to
ConcurrentModificationException.
(SubMap.firstKey): Do a better check for empty SubMap, and if it is,
throw a NoSuchElementException.
(SubMap.lastKey): Likewise.

From-SVN: r39658

libjava/ChangeLog
libjava/java/lang/natClass.cc
libjava/java/util/TreeMap.java

index 6e8a5a4063f45d45fd9a7a40d7633d8a713f3dd3..35ac4789ea930f8ab81c64efca2be2cc2d08f7d9 100644 (file)
@@ -9,6 +9,16 @@
        * java/util/SortedSet.java: Sync with classpath.
        * java/util/HashMap.java (hash): Use if statement instead of ternary,
        for clarity.
+       
+       * java/lang/natClass.cc (getSignature): Don't try to dereference 
+       param_types if it is null. Instead, take this to mean "no parameters".
+       * java/lang/TreeMap.java (TreeIterator.next): Throw 
+       NoSuchElementException in preference to ConcurrentModificationException.
+       (TreeIterator.remove): Throw IllegalStateException in preference to 
+       ConcurrentModificationException.
+       (SubMap.firstKey): Do a better check for empty SubMap, and if it is,
+       throw a NoSuchElementException.
+       (SubMap.lastKey): Likewise.
 
 2001-02-13  Tom Tromey  <tromey@redhat.com>
 
index 6678b7794cf6e00f056685eccb16889ab7c4f7ad..a1008d692d054067d7e9b11f8c981678b0cdd153 100644 (file)
@@ -290,8 +290,12 @@ java::lang::Class::getSignature (JArray<jclass> *param_types,
   java::lang::StringBuffer *buf = new java::lang::StringBuffer ();
   buf->append((jchar) '(');
   jclass *v = elements (param_types);
-  for (int i = 0; i < param_types->length; ++i)
-    v[i]->getSignature(buf);
+  // A NULL param_types means "no parameters".
+  if (param_types != NULL)
+    {
+      for (int i = 0; i < param_types->length; ++i)
+       v[i]->getSignature(buf);
+    }
   buf->append((jchar) ')');
   if (is_constructor)
     buf->append((jchar) 'V');
index ce111053299e06cc2814be4c9497edbbf38f7bbf..5057d16fede822536d94a4fb30a5e921ed2e5822 100644 (file)
@@ -56,7 +56,7 @@ import java.io.IOException;
  *
  * @author           Jon Zeppieri
  * @author          Bryce McKinlay
- * @modified         $Id: TreeMap.java,v 1.8 2000/10/26 10:19:01 bryce Exp $
+ * @modified         $Id: TreeMap.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
  */
 public class TreeMap extends AbstractMap
   implements SortedMap, Cloneable, Serializable
@@ -1194,10 +1194,10 @@ public class TreeMap extends AbstractMap
 
     public Object next()
     {
-      if (knownMod != TreeMap.this.modCount)
-       throw new ConcurrentModificationException();
       if (next == nil)
        throw new NoSuchElementException();
+      if (knownMod != TreeMap.this.modCount)
+       throw new ConcurrentModificationException();
       Node n = next;
 
       // Check limit in case we are iterating through a submap.
@@ -1217,11 +1217,10 @@ public class TreeMap extends AbstractMap
 
     public void remove()
     {
-      if (knownMod != TreeMap.this.modCount)
-       throw new ConcurrentModificationException();
-
       if (last == null)
        throw new IllegalStateException();
+      if (knownMod != TreeMap.this.modCount)
+       throw new ConcurrentModificationException();
 /*
       Object key = null;
       if (next != nil)
@@ -1408,19 +1407,17 @@ public class TreeMap extends AbstractMap
     public Object firstKey()
     {
       Node node = lowestGreaterThan(minKey);
-      // Do a range check in case SubMap is empty.
-      if (keyInRange(node.key))
-        return node.key;
-      return null;
+      if (node == nil || !keyInRange(node.key))
+        throw new NoSuchElementException ("empty");
+      return node.key;
     }
 
     public Object lastKey()
     {
       Node node = highestLessThan(maxKey);
-      // Do a range check in case SubMap is empty.
-      if (keyInRange(node.key))
-        return node.key;
-      return null;
+      if (node == nil || !keyInRange(node.key))
+        throw new NoSuchElementException ("empty");
+      return node.key;
     }
 
     public SortedMap subMap(Object fromKey, Object toKey)
This page took 0.076743 seconds and 5 git commands to generate.