no need for range field. removed. overrirde tostring so nothing weird comes out.

This commit is contained in:
Terence Parr 2012-06-30 16:36:01 -07:00
parent 0c22d12870
commit 3900606024
2 changed files with 8 additions and 5 deletions

View File

@ -28,7 +28,9 @@
*/
package org.antlr.v4.runtime.misc;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
/** A queue that can dequeue and get(i) in O(1) and grow arbitrarily large.
* A linked list is fast at dequeue but slow at get(i). An array is
@ -45,7 +47,6 @@ public class FastQueue<T> {
protected List<T> data = new ArrayList<T>();
/** index of next element to fill */
protected int p = 0;
protected int range = -1; // how deep have we gone?
public void reset() { clear(); }
public void clear() { p = 0; data.clear(); }
@ -66,8 +67,6 @@ public class FastQueue<T> {
public int size() { return data.size() - p; }
public int range() { return range; }
public T head() { return elementAt(0); }
/** Return element i elements ahead of current element. i==0 gets
@ -82,7 +81,6 @@ public class FastQueue<T> {
if ( absIndex < 0 ) {
throw new NoSuchElementException("queue index "+ absIndex +" < 0");
}
if ( absIndex>range ) range = absIndex;
return data.get(absIndex);
}

View File

@ -172,4 +172,9 @@ public abstract class LookaheadStream<T> extends FastQueue<T> {
throw new NoSuchElementException("can't look backwards more than one token in this stream");
}
@Override
public String toString() {
return "a LookaheadStream";
}
}