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