home *** CD-ROM | disk | FTP | other *** search
- package sun.tools.util;
-
- public class UnboundedArrayOfInt {
- protected int first;
- protected int last;
- protected int[] arr;
-
- public UnboundedArrayOfInt(int var1, int var2) {
- this.first = var1;
- this.last = var2;
- this.arr = new int[var2 - var1 + 1];
- }
-
- public UnboundedArrayOfInt() {
- this.first = 0;
- this.last = -1;
- this.arr = null;
- }
-
- // $FF: renamed from: at (int) int
- public int method_0(int var1) {
- return this.arr != null && var1 >= this.first && var1 <= this.last ? this.arr[var1 - this.first] : 0;
- }
-
- public void setAt(int var1, int var2) {
- if (this.arr == null) {
- this.grow(var1 - 20, var1 + 20);
- }
-
- if (var1 < this.first) {
- this.grow(var1 - this.arr.length, this.last);
- }
-
- if (var1 > this.last) {
- this.grow(this.first, var1 + this.arr.length);
- }
-
- this.arr[var1 - this.first] = var2;
- }
-
- public int getFirstIndex() {
- return this.first;
- }
-
- public int getLastIndex() {
- return this.last;
- }
-
- protected void grow(int var1, int var2) {
- UnboundedArrayOfInt var3 = new UnboundedArrayOfInt(var1, var2);
-
- for(int var4 = this.first; var4 <= this.last; ++var4) {
- var3.setAt(var4, this.method_0(var4));
- }
-
- this.first = var3.first;
- this.last = var3.last;
- this.arr = var3.arr;
- }
- }
-