home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / tools / util / UnboundedArrayOfInt.class (.txt) < prev   
Encoding:
Java Class File  |  1997-07-08  |  1.0 KB  |  61 lines

  1. package sun.tools.util;
  2.  
  3. public class UnboundedArrayOfInt {
  4.    protected int first;
  5.    protected int last;
  6.    protected int[] arr;
  7.  
  8.    public UnboundedArrayOfInt(int var1, int var2) {
  9.       this.first = var1;
  10.       this.last = var2;
  11.       this.arr = new int[var2 - var1 + 1];
  12.    }
  13.  
  14.    public UnboundedArrayOfInt() {
  15.       this.first = 0;
  16.       this.last = -1;
  17.       this.arr = null;
  18.    }
  19.  
  20.    // $FF: renamed from: at (int) int
  21.    public int method_0(int var1) {
  22.       return this.arr != null && var1 >= this.first && var1 <= this.last ? this.arr[var1 - this.first] : 0;
  23.    }
  24.  
  25.    public void setAt(int var1, int var2) {
  26.       if (this.arr == null) {
  27.          this.grow(var1 - 20, var1 + 20);
  28.       }
  29.  
  30.       if (var1 < this.first) {
  31.          this.grow(var1 - this.arr.length, this.last);
  32.       }
  33.  
  34.       if (var1 > this.last) {
  35.          this.grow(this.first, var1 + this.arr.length);
  36.       }
  37.  
  38.       this.arr[var1 - this.first] = var2;
  39.    }
  40.  
  41.    public int getFirstIndex() {
  42.       return this.first;
  43.    }
  44.  
  45.    public int getLastIndex() {
  46.       return this.last;
  47.    }
  48.  
  49.    protected void grow(int var1, int var2) {
  50.       UnboundedArrayOfInt var3 = new UnboundedArrayOfInt(var1, var2);
  51.  
  52.       for(int var4 = this.first; var4 <= this.last; ++var4) {
  53.          var3.setAt(var4, this.method_0(var4));
  54.       }
  55.  
  56.       this.first = var3.first;
  57.       this.last = var3.last;
  58.       this.arr = var3.arr;
  59.    }
  60. }
  61.