Merge CL9619 to main (fix CommonTokenStream.seek)

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9620]
This commit is contained in:
sharwell 2011-12-15 07:27:52 -08:00
parent 92279bd6db
commit fa3483a7fc
2 changed files with 15 additions and 1 deletions

View File

@ -105,7 +105,13 @@ public class BufferedTokenStream<T extends Token> implements TokenStream {
}
@Override
public void seek(int index) { p = index; }
public void seek(int index) {
if (p == -1) {
setup();
}
p = index;
}
@Override
public int size() { return tokens.size(); }

View File

@ -73,6 +73,14 @@ public class CommonTokenStream extends BufferedTokenStream<CommonToken> {
}
}
@Override
public void seek(int index) {
super.seek(index);
while (p < index) {
consume();
}
}
@Override
protected CommonToken LB(int k) {
if ( k==0 || (p-k)<0 ) return null;