javap/src/main/java/sun/tools/javap/Vector.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 11 Nov 2012 13:23:52 +0100
branchjavap
changeset 151 40f95fe90cdc
parent 150 945817561b9a
child 152 2cda429aeb49
permissions -rw-r--r--
Almost rewritten to javap: @JavaScriptBody and double/long may not yet be supported
     1 /*
     2  * To change this template, choose Tools | Templates
     3  * and open the template in the editor.
     4  */
     5 package sun.tools.javap;
     6 
     7 /** A JavaScript ready replacement for java.util.Vector
     8  *
     9  * @author Jaroslav Tulach <jtulach@netbeans.org>
    10  */
    11 final class Vector {
    12     private Object[] arr;
    13     
    14     Vector() {
    15     }
    16 
    17     Vector(int i) {
    18         this();
    19     }
    20 
    21     void add(Object objectType) {
    22         addElement(objectType);
    23     }
    24     void addElement(Object obj) {
    25         final int s = size();
    26         setSize(s + 1);
    27         setElementAt(obj, s);
    28     }
    29 
    30     int size() {
    31         return arr == null ? 0 : arr.length;
    32     }
    33 
    34     void copyInto(Object[] accflags) {
    35         throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    36     }
    37 
    38     Object elementAt(int index) {
    39         return arr[index];
    40     }
    41 
    42     void setSize(int len) {
    43         if (arr == null) {
    44             arr = new Object[len];
    45         } else {
    46             Object[] newArr = new Object[len];
    47             int min = Math.min(len, arr.length);
    48             for (int i = 0; i < min; i++) {
    49                 newArr[i] = arr[i];
    50             }
    51             arr = newArr;
    52         }
    53     }
    54 
    55     void setElementAt(Object val, int index) {
    56         arr[index] = val;
    57     }
    58 }