public final class ParseState extends Object
ArrayDeque-based structure for tracking the logical position during
a parsing process. entries are added to the ArrayDeque at each point
during the parse phase in a reader-specific manner.
Calling toString() will render a tree-style view of the current logical
position in the parse phase. This representation is intended for use in error messages.
| Modifier and Type | Class and Description |
|---|---|
static interface |
ParseState.Entry
Marker interface for entries into the
ParseState. |
| Constructor and Description |
|---|
ParseState()
Create a new
ParseState with an empty ArrayDeque. |
| Modifier and Type | Method and Description |
|---|---|
ParseState.Entry |
peek()
Return the
ParseState.Entry currently at the top of the ArrayDeque or
null if the ArrayDeque is empty. |
void |
pop()
Remove an
ParseState.Entry from the ArrayDeque. |
void |
push(ParseState.Entry entry)
Add a new
ParseState.Entry to the ArrayDeque. |
ParseState |
snapshot()
Create a new instance of
ParseState which is an independent snapshot
of this instance. |
String |
toString()
Returns a tree-style representation of the current
ParseState. |
public ParseState()
ParseState with an empty ArrayDeque.public void push(ParseState.Entry entry)
ParseState.Entry to the ArrayDeque.public void pop()
ParseState.Entry from the ArrayDeque.@Nullable public ParseState.Entry peek()
ParseState.Entry currently at the top of the ArrayDeque or
null if the ArrayDeque is empty.public ParseState snapshot()
ParseState which is an independent snapshot
of this instance.