2003/06/16 08:44:09
[org.ibex.core.git] / src / org / xwt / util / Vec.java
index fd21755..803ce3f 100644 (file)
@@ -10,7 +10,7 @@ import java.io.*;
  *  java.util.ArrayList.
  *  @see java.util.Vector
  */
-public class Vec implements Serializable {
+public final class Vec implements Serializable {
     
     private Object[] store;
     private int size = 0;
@@ -42,10 +42,14 @@ public class Vec implements Serializable {
     }
     
     public void addElement(Object o) {
-        if (size >= store.length) grow();
+        if (size >= store.length - 1) grow();
         store[size++] = o;
     }
 
+    public Object peek() {
+        return lastElement();
+    }
+
     public Object elementAt(int i) {
         return store[i];
     }
@@ -57,9 +61,9 @@ public class Vec implements Serializable {
 
     public void push(Object o) { addElement(o); }
     public Object pop() {
-       Object ret = lastElement();
-       store[size--] = null;
-       return ret;
+        Object ret = lastElement();
+        if (size > 0) store[size--] = null;
+        return ret;
     }
 
     public int size() { return size; }