TreeMap.java (root): Don't initialize.
authorMark Wielaard <mark@klomp.org>
Tue, 21 Sep 2004 16:27:30 +0000 (18:27 +0200)
committerAndreas Tobler <andreast@gcc.gnu.org>
Tue, 21 Sep 2004 16:27:30 +0000 (18:27 +0200)
2004-09-21  Mark Wielaard  <mark@klomp.org>

* java/util/TreeMap.java (root): Don't initialize.
(TreeMap(Comparator)): Call fabricateTree(0).
(fabricateTree): Initialize root and size when count is 0.

From-SVN: r87811

libjava/java/util/TreeMap.java

index d3b67481511e433367d6bb681ae5e8bee9d5d509..5272bc173016fabf32964a4c917e74249f827d0f 100644 (file)
@@ -130,7 +130,7 @@ public class TreeMap extends AbstractMap
   /**
    * The root node of this TreeMap.
    */
-  private transient Node root = nil;
+  private transient Node root;
 
   /**
    * The size of this TreeMap. Package visible for use by nested classes.
@@ -213,6 +213,7 @@ public class TreeMap extends AbstractMap
   public TreeMap(Comparator c)
   {
     comparator = c;
+    fabricateTree(0);
   }
 
   /**
@@ -851,7 +852,11 @@ public class TreeMap extends AbstractMap
   private void fabricateTree(final int count)
   {
     if (count == 0)
-      return;
+      {
+       root = nil;
+       size = 0;
+       return;
+      }
 
     // We color every row of nodes black, except for the overflow nodes.
     // I believe that this is the optimal arrangement. We construct the tree