// Decompiled by: Fernflower v0.6
// Date: 16.01.2011 23:15:55
// Copyright: 2008-2009, Stiver
// Home page: http://www.reversed-java.com
package org.antlr.runtime.misc;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
public class FastQueue {
protected List data = new ArrayList();
protected int p = 0;
public void reset() {
this.p = 0;
this.data.clear();
}
public Object remove() {
Object var1 = this.get(0);
++this.p;
if(this.p == this.data.size()) {
this.clear();
}
return var1;
}
public void add(Object var1) {
this.data.add(var1);
}
public int size() {
return this.data.size() - this.p;
}
public Object head() {
return this.get(0);
}
public Object get(int var1) {
if(this.p + var1 >= this.data.size()) {
throw new NoSuchElementException("queue index " + (this.p + var1) + " > size " + this.data.size());
} else {
return this.data.get(this.p + var1);
}
}
public void clear() {
this.p = 0;
this.data.clear();
}
public String toString() {
StringBuffer var1 = new StringBuffer();
int var2 = this.size();
for(int var3 = 0; var3 < var2; ++var3) {
var1.append(this.get(var3));
if(var3 + 1 < var2) {
var1.append(" ");
}
}
return var1.toString();
}
}