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.