final class TokenPosition extends Object
Modifier and Type | Field and Description |
---|---|
private int |
position |
private List<Token> |
tokenList |
Constructor and Description |
---|
TokenPosition()
Creates an empty token position which must be
initialized
before use |
Modifier and Type | Method and Description |
---|---|
Token |
current()
Returns the current token without changing the position.
|
Token |
current(int offset)
Returns the token at
offset steps from here. |
boolean |
currentIs(Token.Kind kind)
Returns whether the current token is of the given kind.
|
boolean |
currentIsNoIgnore(Token.Kind kind)
Returns whether the current token is of the given kind,
without skipping spaces.
|
Token |
currentNoIgnore()
Returns the current token without changing the position,
and without ignoring spaces.
|
Token |
currentNoIgnore(int offset)
Returns the token at
offset steps from here,
without ignoring spaces. |
int |
getPosition()
Returns the current position
|
boolean |
hasNext()
Returns whether more tokens are available
|
void |
initialize(List<Token> tokens)
Initializes this token position.
|
Token |
next()
Returns the current token and increases the position by one.
|
void |
setPosition(int position)
Sets the position
|
void |
skip()
Skips past the current token
|
boolean |
skip(Token.Kind kind)
Skips one or zero items of the given kind.
|
boolean |
skipMultiple(Token.Kind kind)
Skips one or more tokens of the given kind
|
boolean |
skipMultipleNoIgnore(Token.Kind kind)
Skips one or more tokens of the given kind, without ignoring spaces
|
void |
skipNoIgnore()
Skips to the next token, even if the next is a space
|
boolean |
skipNoIgnore(Token.Kind kind)
Skips one or zero items of the given kind, without ignoring
spaces
|
String |
toString() |
public TokenPosition()
initialized
before usepublic void initialize(List<Token> tokens)
tokens
- a list of tokens, which is not modified, and not used
outside the calling threadpublic Token current()
public Token currentNoIgnore()
public Token current(int offset)
offset
steps from here.
Null (no exception) if there is no token at that positionpublic Token currentNoIgnore(int offset)
offset
steps from here,
without ignoring spaces.
Null (no exception) if there is no token at that positionpublic boolean currentIs(Token.Kind kind)
public boolean currentIsNoIgnore(Token.Kind kind)
public boolean hasNext()
public Token next()
public void skip()
public void skipNoIgnore()
public void setPosition(int position)
public int getPosition()
public boolean skipMultiple(Token.Kind kind)
public boolean skipMultipleNoIgnore(Token.Kind kind)
public boolean skip(Token.Kind kind)
public boolean skipNoIgnore(Token.Kind kind)
Copyright © 2018. All rights reserved.