2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.apidesign.javap;
7 /** A JavaScript optimized replacement for Hashtable.
9 * @author Jaroslav Tulach <jtulach@netbeans.org>
11 final class Hashtable {
12 private Object[] keys;
13 private Object[] values;
19 Hashtable(int i, double d) {
26 synchronized void put(Object key, Object val) {
27 int[] where = { -1, -1 };
28 Object found = get(key, where);
31 values[where[0]] = val;
36 values[where[1]] = val;
39 keys = new Object[11];
40 values = new Object[11];
44 Object[] newKeys = new Object[keys.length * 2];
45 Object[] newValues = new Object[values.length * 2];
46 for (int i = 0; i < keys.length; i++) {
48 newValues[i] = values[i];
50 newKeys[keys.length] = key;
51 newValues[keys.length] = val;
59 Object get(Object key) {
60 return get(key, null);
62 private synchronized Object get(Object key, int[] foundAndNull) {
66 for (int i = 0; i < keys.length; i++) {
67 if (keys[i] == null) {
68 if (foundAndNull != null) {
71 } else if (keys[i].equals(key)) {
72 if (foundAndNull != null) {